次の命名方式を使用する多くのビデオファイルがあります。
いくつかの単語 - SxxExx.extension
これが私が好むものです。残念ながら、この形式のファイルがたくさんあります。
いくつかの単語-SxxExx-単語-.拡張子を削除したいと思います。
Exxセクション以降のすべての項目を自動的に削除する必要があります。
ベストアンサー1
x
プレースホルダを想定すると、zmv
次のことが可能です。
zmv -nv '(*S??E??)*.ext' '$1.ext'
% touch foo-S01E02-garbage.ext bar-S07E17-moregarbage.ext
% zmv -nv '(*S??E??)*.ext' '$1.ext'
mv -- bar-S07E17-moregarbage.ext bar-S07E17.ext
mv -- foo-S01E02-garbage.ext foo-S01E02.ext
'(*S[0-9][0-9]E[0-9][0-9])*.ext'
代わりに、数字のみ一致を使用することもできますx
。
または、次を使用する場合sed
:
for f in *.ext; do
echo mv -n "$f" "$(echo "$f" | sed -e 's/\(S[0-9][0-9]E[0-9][0-9]\).*\.ext/\1.ext/')"
done
またはPerlrename
コマンドを使用してください(現在のfile-rename
Debianではこれを呼び出します)。
file-rename -n -v 's/(S[0-9]{2}E[0-9]{2}).*\.ext/$1.ext/' *.ext
(実際に名前を変更するには、前のフラグとecho
フラグmv
を-n
削除しますが、既存のファイルを上書きしないように指示します。これは少なくともGNUで動作します。)zmv
file-rename
mv -n
mv