« ◆ 撮影会  o(≧∇≦o)(o≧∇≦)o | メイン | ◆ お姉ちゃんが帰ってきた!!  ヽ(*^。^*)ノ ワ~イ »

2012年5月16日 (水)

複数ファイルへの一括挿入(備忘録)

複数のtxtファイルの特定の文字列を一括して置換するスクリプトは、

for FILE in *.txt; do cp $FILE $FILE.bak; sed -e "s/元の文字列/置換文字列/g" $FILE.bak > $FILE; done
← 複数のtxtファイルの特定の文字列を一括して置換する。元ファイルはbakに。

で、しょっちゅう使ってましたが、
特定のn行に特定の文字列を挿入するには、

sed 'ni\挿入文字列' AAA.txt >> AAA.txt.bak

ファイル毎に処理していました。
が、処理するファイルが多数になるとえらく面倒です。
で、色々試して、次のスクリプトで行えるようになりました。
大変楽になりました。1日がかりの作業が、2秒で終了。

for FILE in *.txt; do cp $FILE $FILE.bak; sed -e "ni\挿入文字列" $FILE.bak > $FILE; done
← 複数のtxtファイルの2行目に文字列を一括して挿入する。元ファイルはbakに。

コメント

コメントを投稿

コメントは記事の投稿者が承認するまで表示されません。

MyWeb

ウェブページ