• 締切済み

テキストファイルについて

第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だけを取り出す方法はないでしょうか

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.8

エクセルが使えるなら 元データをコピーして(メモ帳に読み込んでコピーとか) シートのA列に貼り付け。 データ-区切り位置で、セパレータを、スペースを指定すると第1回部分と、その他に分かれるので、A列を削除。CSVファイルで保存。 またはCSVファイルをエクセルに読み込んでA列を削除。CSVファイルで保存。 これらでうまくいかないでしょうか。 VBでやっても10行以内のプログラムですが。

回答No.7

#6です。 sed s/第.*回 // nantoka.txt > henkan.txt ですけど【第】のうしろには【.】(ピリオド) また、【回】のうしろには【 】(全角スペース)が入ってます。 ちなみに上記コマンドは動作することを確認済みです。

回答No.6

もっと意味がわからない(^^;かもしれないけど ストリームエディタ(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

回答No.5

「意味がわかりません」ですか。 今回のケースであれば大げさな方法でしょうね。 複数のファイルにまたがった処理や大量データを処理するなら、手作業よりバッチファイルで処理するのが効率的と思い提案してみました。 ちなみに今回の例は、タブと半角スペースが混在しているデータも処理できます。

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.4

はい、秀丸でも可能です。

noname#39234
noname#39234
回答No.3

こういうシンプルなものであれば 矩形領域のカットアンドペーストができるテキストエディタなら 手軽に削除ができると思います。 Vz EditorだとBLOCK.DEFを組み込んだ状態 (っていつの時代の話だか…) 秀丸エディターとかでもできたと思ったけどどうだろ。

回答No.2

区切りが半角スペースでないと動きません。 以下のバッチファイルをつくり実行。 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を開いてみてください。 多重実行禁止。

benzousandazoyo
質問者

補足

ううん、これってなんですか?意味がわかりません、コマンドプロンプトでこれを実行ってことでしょうか?

  • THX1138
  • ベストアンサー率51% (108/208)
回答No.1

正規表現が使えるエディタなら、"第.回 " にマッチするものを削除すれば良いかと思います。 メモ帳などではちょっと難しいですね。

関連するQ&A