sed と find で大量のファイルの中から特定の行を消す
2019-08-09


Perl で大量のファイルを一気に置換は結構やっていた。最近、行削除を頻繁に行うようになったので、またメモ。

まず、第一にファイルシステムを選ぶこと。NFS よりローカルディスク。ローカルディスクより tmpfs。

sed のファイルアクセスを減らすために、grep で対象ファイルを減らしている。

% for i in `grep -l -R SOMETHING * 2>/dev/null`; do sed -i.bye -e '/SOMETHING/d' $i; done
xargs でファイルを sed に渡してみたが、一部の環境では問題があったので、この形に落ち着いた。何だか、宛先の消えているシンボリックファイルもあるので、grep のエラーは /dev/null へ。
[fs]
[speeeeed]
[unix]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット