- 締切済み
テキストのバッチ処理について
【テキストファイルをバッチ処理にて書き換え】 C:\Program Files\ABC\X1\ドキュメント.txtの内容をバッチ処理で書き換えたいのですが、そのような事はかのうでしょうか? また、可能な場合どのように書けばいいのでしょうか? 「テキストの内容」 ------------------------------------- A設定 aaa-bbb-00-11 B設定 bbb-ccc-00-22 C設定 ccc-eee-00-33 ------------------------------------- 上記の内容で、22を55にバッチ処理で書き換えたい。「B設定 bbb-ccc-00-22」→「B設定 bbb-ccc-00-55」 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kakuritsu
- ベストアンサー率23% (62/261)
#2です。 >すみません!!うまく動きません。 どこがどううまく動かないのかよくわかりません。 どういう現象が出るのでしょうか? あなたのスキルレベルがよくわからないので ちょっとくどい書き方しますが 1)まず sed にパスは通ってますか? よくわからないようだったら Windowsフォルダにコピーしてください。(Windowsフォルダにはパスが最初から通ってますので…) 2)最初からバッチファイルにするのでなく、まずコマンドラインから動作確認を。Program Files は空白が途中に入ってますから "" で囲う必要があります。 >sed "s/22/55/g" "C:\Program Files\ABC\X1\ドキュメント.txt" 置き換えられたテキスト内容が画面に表示されます。 うまくいくようなら、バッチファイルに記述すればよいです。 ちなみに上記の例だと 22 とついた文字はすべて 55 に変換されますので、ご注意を…。正確にやるには正規表現できちんと記述する必要があります。 例) 222 --> 552 3822123 --> 3855123
- kakuritsu
- ベストアンサー率23% (62/261)
Linux では当たり前な sed はいかが? Windowsで使うなら ☆ sed for win32 http://www.vector.co.jp/soft/win95/util/se015016.html 使い方 sed "s/22/55/g" ドキュメント.txt > temp.txt 省略しましたけど、パスは正確に記述してください。 あと temp.txt を ドキュメント.txt にリネームしてください。 ☆ sed の使い方 http://www.chimimo.com/old/sed/
- koko_u_
- ベストアンサー率18% (459/2509)
スクリプト言語をインストールしてもよいなら、ruby などを使うのが早い。 C:\Program Files\ABC\X1\> ruby -p -e '$_.sub!("22", "55")' ドキュメント.txt Perl でも Python でもお好みで。
補足
すみません!!うまく動きません。 パスは、C:\Documents and Settings\user1\デスクトップ\新しいフォルダ内に.batファイルを置いたとして、書き換えか対象が、C:\Program Files\ABC\X1\ドキュメント.txtです。 その場合は、どのようにかけ書けばよろしいでしょうか??