RHEL 7サーバーでファイルを見つけて名前を変更するには?命令一つで可能でしょうか?
たとえば、次のようにできます。
find . -name filename
その後cd
、ディレクトリに移動し、1行ですべてmv filename.conf filename2.conf
実行したいと思います。
答え1
このフラグを使用できますexecdir
。
find . -type f -name <original_file_name> -execdir mv {} <new_file_name> \;
答え2
file.conf
名前をに変更するには、次のオプションをfile2.conf
使用します。find
-exec
find . -name "*.conf" -type f -exec sh -c 'mv "$1" "${1%.conf}2.conf"' sh {} \;
各ファイル名は、コマンドを実行するためのオプションで始まる新しいシェルプロセスに{}
引数として渡されます。$1
-exec
mv
${1%.conf}
シェルパラメータ拡張で、.conf
ファイル名からサフィックスを削除します。2.conf
ファイル名に新しいサフィックスを追加する
コマンドを実行する前にテストするには、echo
次のように追加します。
find . -name "*.conf" -type f -exec sh -c 'echo mv "$1" "${1%.conf}2.conf"' sh {} \;