- 締切済み
テキストファイルについて
第1回 1,2,3,4,5,6 第2回 2,3,4,5,6,7 第3回 5,6,7,8,9,3 という風に書かれているテキストファイルがあるとして置換機能をつかって 1,2,3,4,5,6 2,3,4,5,6,7 5,6,7,8,9,3だけを取り出す方法はないでしょうか
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルが使えるなら 元データをコピーして(メモ帳に読み込んでコピーとか) シートのA列に貼り付け。 データ-区切り位置で、セパレータを、スペースを指定すると第1回部分と、その他に分かれるので、A列を削除。CSVファイルで保存。 またはCSVファイルをエクセルに読み込んでA列を削除。CSVファイルで保存。 これらでうまくいかないでしょうか。 VBでやっても10行以内のプログラムですが。
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
#6です。 sed s/第.*回 // nantoka.txt > henkan.txt ですけど【第】のうしろには【.】(ピリオド) また、【回】のうしろには【 】(全角スペース)が入ってます。 ちなみに上記コマンドは動作することを確認済みです。
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
もっと意味がわからない(^^;かもしれないけど ストリームエディタ(SED)使ってやるのが一番スマートです。というか正道でしょう。 正規表現を覚えれば、もっと複雑なパターンであっても切り出したり置換できたりします。 変換前ファイルを nantoka.txt 変換後ファイルを henkan.txt だとすると コマンドプロンプトから sed s/第.*回 // nantoka.txt > henkan.txt の一発でOKです。 エディタの矩形選択による削除だと以下のようなパターンには対応できません。 第1回 1,2,3,4,5,6 第10回 2,3,4,5,6,7 第100回 5,6,7,8,9,3 第1000回 5,6,7,8,9,3 ただ sed は Linux 等には最初から入ってますが Windows系には用意されてません。 以下のURLにて Win32 版を取得してください。 ★ sed for Win32 http://www.vector.co.jp/soft/dl/win95/util/se015016.html
- pide_piper
- ベストアンサー率33% (24/72)
「意味がわかりません」ですか。 今回のケースであれば大げさな方法でしょうね。 複数のファイルにまたがった処理や大量データを処理するなら、手作業よりバッチファイルで処理するのが効率的と思い提案してみました。 ちなみに今回の例は、タブと半角スペースが混在しているデータも処理できます。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
はい、秀丸でも可能です。
こういうシンプルなものであれば 矩形領域のカットアンドペーストができるテキストエディタなら 手軽に削除ができると思います。 Vz EditorだとBLOCK.DEFを組み込んだ状態 (っていつの時代の話だか…) 秀丸エディターとかでもできたと思ったけどどうだろ。
- pide_piper
- ベストアンサー率33% (24/72)
区切りが半角スペースでないと動きません。 以下のバッチファイルをつくり実行。 hoge.bat--------------------------------------- @echo off echo ファイル[%1]を処理します。 pause for /F "tokens=2" %%i in ( %1 ) do echo %%i >> %2 type %2 ----------------------------------------------- c:\>hoge data.txt result.csv[ENTER] hoge [入力ファイル] [出力ファイル] result.csvを開いてみてください。 多重実行禁止。
- THX1138
- ベストアンサー率51% (108/208)
正規表現が使えるエディタなら、"第.回 " にマッチするものを削除すれば良いかと思います。 メモ帳などではちょっと難しいですね。
補足
ううん、これってなんですか?意味がわかりません、コマンドプロンプトでこれを実行ってことでしょうか?