4

課題の著作権ヘッダーを変更しようとしています。次のコマンドを使用して、著作権ヘッダーを持つすべてのファイルを一覧表示できました。

    grep -rni copyright *

上記のコマンドで、約1000個のファイルを取得しました。

一度にすべてのファイルを変更する方法を教えてください。

4

3 に答える 3

3

これにより、「著作権」という単語が含まれるファイルにテキストの変更が適用されます (大文字と小文字は区別されません)。

for filename in *; do
  if grep -qi "copyright" "$filename"; then
    sed -i'' -e 's/old text/new text/' "$filename"
  fi
done

これは現在のディレクトリでのみ機能することに注意してください。サブディレクトリ内のファイルを処理するには、おそらくfindコマンドを使用する必要があります。

変更したいテキストを説明していただければ、目標を達成するためのより正確な方法を提案できる場合があります。

于 2012-09-20T22:47:54.827 に答える
1
grep -ril copyright * | xargs sed -i 's/old text/new text/'
于 2012-09-20T22:15:39.470 に答える
0

この種の問題に対処するのに非常に便利な頭痛と呼ばれる簡単なツールがあります。少なくともDebianUbuntuで利用できます。

于 2012-09-20T23:22:19.847 に答える