複数のmp3があり、拡張子の前に「_p192」を追加する必要があります。
私はこれを試しました:
for f in *.mp3; do printf '%s\n' "${f%.mp3}_p192.mp3"; done
この記事に続いて:
ただし、実際にはファイル名を変更せずにファイル名を標準出力に出力します。
ベストアンサー1
あなたが見ている答えは、実際にディスク上のファイルの名前を変更する必要はなく、端末に報告されているファイル名を変換するだけの質問です。
これはあなたの解決策が機能することを意味します。もしmv
代わりに、対応するコマンドを使用しますprintf
(単に文字列を端末に印刷します)。
for f in *.mp3; do mv -- "$f" "${f%.mp3}_p192.mp3"; done
printf
名前が期待どおりに変換されたことを確認するには、まずループを実行することをお勧めします。
echo
通常、何が実行されるのかを確認するために前に挿入するのが安全です(mv
、 などの潜在的に破壊的なコマンドのループを処理するときにこれを行うのはおそらく良い考えです)。mv
cp
rm
for f in *.mp3; do echo mv -- "$f" "${f%.mp3}_p192.mp3"; done
またはより良い形式を使用してください。
for f in *.mp3; do
echo mv -- "$f" "${f%.mp3}_p192.mp3"
done