- ベストアンサー
bashシェルについて
bashシェルを利用しまして aiueoディレクトリ内にあります、 aaa bbb ccc abc acb bac bca cba cab というファイル内に記載されています、 123456789 という文字列を 987654321 に変更したいと考えます。 どのようなスクリプトを構成すれば、 上記の内容がクリアーできますでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 perlを使うと、テキストファイルの中の文字列を直接変更できます。 perl -pi -e 's/123456789/987654321/g' data.txt というわけで、findで検索したファイル名を、xargs 経由で Perlに渡して 処理することができます。 find aiueo/ -type f | xargs perl -pi -e 's/123456789/987654321/' 参考にしてください。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
どこができないんだろ.... 1.aiueo/aaa というファイルにある 123456789 という文字列を 987654321 に変換することはできますか? 2.1のように変換して, 再び aiueo/aaa というファイルに戻すことはできますか? 3.2を複数のファイルに対して繰り返し適用することはできますか? 1ができないのなら, sed について調べてください. 2ができないときにはリダイレクトとか && を調べると吉かも. 3については for とかを調べてみましょう.