ファイル名の末尾、拡張子の前にテキストを追加します。

ファイル名の末尾、拡張子の前にテキストを追加します。

複数の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、 などの潜在的に破壊的なコマンドのループを処理するときにこれを行うのはおそらく良い考えです)。mvcprm

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

おすすめ記事