誤って拡張子が.mp4
。幸い、元の拡張子はファイル名に保存されました(例simon.says.nfo.mp4
:)。
今このファイルからmp4部分を削除するにはどうすればよいですか?
私が持っている命名システムのために見つけることはできず、*.*.mp4
検索/置換の組み合わせを使用する方が簡単です。
ベストアンサー1
.mp4
現在のディレクトリにある対応する拡張子を持つすべてのファイルから拡張子を削除します。.nfo.mp4
for fname in ./*.nfo.mp4; do
newfname="$( basename "$fname" .mp4 )"
mv -i "$fname" "$newfname"
done
このbasename
ユーティリティはパスを削除し(ファイル名のみを残す)、サフィックスを一度に削除します。現在のディレクトリにのみ興味があるので、再度追加せずにここからパスを削除できます。パラメータ拡張を使用してnewfname="${fname%.mp4}"
同じ効果を得ることができます。サフィックスは削除されますが、.mp4
初期パスは削除されませんが、$fname
ここでは問題ではありません。
私はこれを使って既存のファイルを上書きする操作をmv -i
手動で確認できます。mv
テストの目的で、次は何が起こるかを印刷します。
for fname in ./*.nfo.mp4; do
newfname="$( basename "$fname" .mp4 )"
printf 'Want to rename "%s" into "%s"\n' "$fname" "$newfname"
## mv -i "$fname" "$newfname"
done