"-"で始まるmp3ファイルの名前を変更する

iPodから曲を抽出しましたが、そうすると各曲の名前が「-[曲の元の名前]」に変更されました。最初の「-」を削除するbashスクリプトを作成したいと思います。なぜならそこにはおそらく1000曲があり、手動で名前を変更できないからです。これを行うためにmvとrenameを使用しようとしましたが、特殊文字のために機能しませんでした。インターネットで検索した結果、「-」を「」に置き換える解決策が見つかりましたが、問題は最初の「-」だけを削除し、他の潜在的な「-」は削除したくないということです。私の曲「名前。十分に明確に説明してほしいです。誰でも私を助けることができますか?

これは私のオリジナルスクリプトです。

#!/bin/bash
for f in *; do
  echo "${f}";
  if [[ ${f:0:1} == "-" ]]; then
    echo "renaming ${f}";   
    rename.ul ${f} ${f:1} *.mp3;
fi
done

ベストアンサー1

for f in -*.mp3; do
  echo mv -- "$f" "${f:1}"
done

必要に応じて動作すると確信している場合は削除してくださいecho

--ファイル名がオプションとしてmv解釈されるのを防ぐには、ダブルダッシュ()が必要です-。ファイル名にスペースが含まれている場合は、変数を引用符で囲む必要があります。

おすすめ記事