Excel ファイルに次の文字列があります:
4603,2504603#;4616,2504616#;4617,2504617#;4519,2504519#;4620,2504620
(実際はそれよりもずっと長いですが、パターンは同じです)。
これを何とかして読みやすい形に整理する必要があります。最終結果は次のようになります。
4603,2504603
4616,2504616
4617,2504617
#; を改行に置き換えることができるプログラムまたはコマンドが必要だと思います。Windows 7 で動作するものが必要です。Linux クラスでシェル スクリプトを使用してこれに似た操作を行ったことを覚えていますが、どのように実行したかは思い出せません。
注: これは宿題ではありません。職場で上司から頼まれたものです。
答え1
もうすぐ終わりです。Notepad++ では改行を含む文字列を置き換えることができます。検索と置換ダイアログに移動して を選択しますextended mode
。すると、すべての#;
文字列を に置き換えることができます\r\n
。
感謝ボブWindows では復帰 + 改行が求められるのに対し、Unix やその他の *nix では改行のみが求められることを指摘していただきありがとうございます。
答え2
NotePad++ をお持ちでなくても、Excel をお持ちなので Word はご利用いただけます。[編集] > [検索と置換] に移動します。[検索する文字列] ボックスに「#;」と入力し、[置換後の文字列] ボックスに「^p」と入力します。Word では、^p は段落マーカー、つまり改行または CR/LF を意味します。
編集
Excel を使用している場合は、[データ] > [Text_to_Columns] を使用して変換を行うことができます。区切り文字として # を選択します。区切り文字は 2 文字 (#;) にできないため、後で [編集] > [検索と置換] を使用してセミコロン (;) を削除する必要があります。
そしてもちろん、Excel はコンマを 3000 ごとの区切りとして扱うため、混乱を招きます。
答え3
データを Microsoft Word に貼り付けて、#; をすべて ^p に置き換えることができました。MS Word はこれを復帰 (改行) として解釈します。