881) テキストファイルからテキストを取り出す方法 RORO 2003/11/19(水) 21:00 |
|
|
|
教えていただけませんか?? OSは、win2Kです あるテキストファイル(=TEST.TXT)があるります。 そのファイルの各行の先頭から、TABキーが押されているところ(ひとつの単語)まで、抜き取って、ほかのファイルへコピーしたいのですが、 初心者なもので、いまいちコマンドがわかりません。 FIND、FINDSTR等調べてみたのですが、なかなかうまくいきません。 このプログラムをDOSコマンドで作成することは、可能なんでしょうか?? |
|
882) Re:テキストファイルからテキストを取り出す方法 ふぇむ 2003/11/20(木) 13:43 |
|
|
|
>あるテキストファイル(=TEST.TXT)があるります。 >そのファイルの各行の先頭から、TABキーが押されているところ(ひとつの単語)まで、抜き取って、ほかのファイルへコピーしたいのですが、 >初心者なもので、いまいちコマンドがわかりません。 めっちゃシンプルに書くならば。諸前提・諸制約(空白文字のワードはとれない、最後に空行入っちゃう、など)ありますが、単純に空白文字区切りの1ワード 目を取り出すだけということなら以下のようにかけます。コマンドラインからだと、カレントディレクトリにその TEST.TXT がある状態で、 @for /F %a in ( TEST.TXT ) do @echo %a 上記を > nukitori.txt みたいなリダイレクトの形で好きなファイルへ格納できますね。 しかし個人的にはこの手の処理には awk のスクリプトを組むことをお勧めします。例えばシンプルにはこんな感じでしょうか。 gawk "{ print $1;}" TEST.TXT または awkスクリプトを別にして gawk -f pickup.awk TEST.TXT pickup.awkの内容: { print $1; } とか。 |
|
887) Re:テキストファイルからテキストを取り出す方法 Hellcat 2003/11/20(木) 22:11 |
|
|
|
フリーソフトizgrepを使った例 izgrep -hm ^(.)+\t test.txt > foo.txt DOSのソフトですが、Win2000でも動きました。 全角文字にも対応しています。 izgrepは↓にあります http://www.vector.co.jp/soft/dos/util/se004975.html |
|
this article refers Vector Soft Library..
|
|
888) Re2:テキストファイルからテキストを取り出す方法 RORO 2003/11/20(木) 22:47 |
|
|
|
みなさんどうもありがとうございます。 無事に解決することができました。 コマンド的には、 for /F "tokens=1 usebackq delims= " %%i (test.txt) do( echo %%i ) > aaa.txt としたら、できました。 DOSのコマンドとは、奥が深いですね。 どうもありがとうございました。 |
|
896) Re2:テキストファイルからテキストを取り出す方法 Hellcat 2003/11/21(金) 21:47 |
|
|
|
#887の訂正です。 izgrep -hm ^(.)+\t test.txt > foo.txt としましたが、行頭を表すサーカムフレックスをエスケープする必要がありました。 以下のように訂正します。 izgrep -hm ^^(.)+\t test.txt > foo.txt p.s. なんだか顔文字のようになってしまいましたが、まじな正規表現です。 |