メディアディレクトリですべての.nfo
ファイルを見つける必要があるので、sed
を使用して一部を変更できます。問題は、フォルダに名前にスペースが含まれていることです。
find /media/media1/HDTV -name \*.nfo -type f
media/media1/HDTV/Band of Brothers/Season 1/
…
出力ファイルは、必要な文字列を変更するsed
コマンドでは見つかりません。
find
はファイル名の特殊文字を気にしませんが、find
の出力を解析しているプログラムは気にするかもしれません。 xargs
を使用している場合は、find
に-print0
オプションを使用し、xargs
に-0
オプションを使用します。これは、find
およびxargs
に、ファイル名間の区切り文字としてヌル文字(ファイル名に表示できない)を使用し、xargs
が含まれるファイル名を破壊する他の解析を行わないように指示しますスペース。
find /media/media1/HDTV -name '*.nfo' -type f -print0 |
xargs -0 sed -i 's/pattern/replacement/'
多くのファイルでコマンドを呼び出す別の方法は、find
のみを使用することです。
find /media/media1/HDTV -name '*.nfo' -type f -exec sed -i 's/pattern/replacement/' {} +