ディレクトリ内のファイル名をファイルに含まれる新しい名前に変更するにはどうすればよいですか? [コピー]

ディレクトリ内のファイル名をファイルに含まれる新しい名前に変更するにはどうすればよいですか? [コピー]

変更するファイル名でいっぱいのディレクトリがあります。単にサフィックスやプレフィックスの名前を変更する必要はなく、ファイル名を完全に変更する必要があります。

new_names.txtというファイルに新しいファイル名を含めました。

new_namesに含まれる名前を読み取ってディレクトリ内のファイルの名前を変更するには、どのコマンドを使用できますか?

ベストアンサー1

これを使用してコマンドのリストを生成できますmv

paste /path/to/new_names <(ls /path/to/files | grep -v new_names) | awk '$2 !~ /^$/ {print "mv " $2,$1}'

よかったら、以下を使って実行できます。

cd /path/to/files
$( paste /path/to/new_names <(ls /path/to/files | grep -v new_names) | awk '$2 !~ /^$/ {print "mv " $2,$1}' )

おすすめ記事