ディレクトリ内のすべてのファイルから特定の拡張子を削除します。 [重複]

ディレクトリ内のすべてのファイルから特定の拡張子を削除します。 [重複]

拡張子が「.old」のファイルが複数あります。
ファイルを削除せずに ".old"拡張子を削除するにはどうすればよいですか?

手動で行うこともできますが、より多くの作業が必要です。

mv file1.key.old file1.key
mv file2.pub.old file2.pub
mv file3.jpg.old file3.jpg
mv file4.jpg.old file4.jpg

(etc...)

このコマンドは他の拡張機能にも使用できますか?

例:

mv file1.MOV.mov file1.MOV
mv file2.MOV.mov file2.MOV
mv file3.MOV.mov file3.MOV

(etc...)

またはより良い:

mv file1.MOV.mov file1.mov
mv file2.MOV.mov file2.mov
mv file3.MOV.mov file3.mov

(etc...)

ベストアンサー1

使用bashパラメータ置換メカニズム一致するサフィックスパターンを削除します。

for file in *.old; do
    mv -- "$file" "${file%%.old}"
done

おすすめ記事