これが私が使うものです:
find (your find args here) \
| xargs fgrep '000000' /dev/null \
| awk -F: '{print $1}' \
| xargs -n 1 -I ORIGINAL_FILENAME /bin/echo /bin/cp /path/to/offblack.png ORIGINAL_FILENAME
展開して、関心のあるすべてのファイルを見つけ、その中の文字列「000000」をgrepします(生成されたファイルの1つがfgrep
1つのファイル名だけで終わった場合に備えて、ファイルのリストに/ dev /nullを追加します-これにより、出力は常に「filename:<'000000'を含む行>」)としてフォーマットされ、ファイル名のみを削除してから、1つずつ、offblack.pngでそれらのファイルにコピーします。そこにを挿入したことに注意してください/bin/echo
。それがあなたのドライランです。エコーを削除して、実際に実行します。
ファイル名に「000000」が含まれているという意味の場合:
find . -type f -a -name '*000000*' -exec /bin/echo /bin/cp /path/to/offblack.png {} \;
はるかに簡単です。:-)文字列を含む名前で現在のディレクトリの下にあるすべてのファイルを検索し、その上にoffblack.pngのコピーを実行します。繰り返しますが、私があなたに与えたのはドライランです。ライブファイアドリルのエコーを削除します。:-)