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
解釈されるのを防ぐには、ダブルダッシュ()が必要です-
。ファイル名にスペースが含まれている場合は、変数を引用符で囲む必要があります。