私は、まだこの特殊文字をエスケープする方法は?
while read item; do rm "$item"; done < duplicates
のようなファイルを削除するループのbashシェル経由で曲を削除しようとしている曲の名前に巻き込ま続けます。これを回避することは可能ですか?あなたは私が何%を持つことはできませんアイテムを削除するために、見ることができるよう
/home/user/Music/Master List's Music/iTunes/iTunes\ Music/John\ Mayer/Room\ for\ Squares\ \[Aware\]/07\ 83.m4a
/home/user/Music/Master List's Music/bsg\ season\ 1\ \(Case\ Conflict\ 1\)/06\ A\ Good\ Lighter.mp3
/home/user/Music/Master List's Music/Nino\ Rota/The\ Godfather\ Pt.\ 3/14\ A\ Casa\ Amiche.m4a
()[]または何か、それはでない限りエスケープされずに:私の曲のタイトルは次のようになります。明らかにファイル拡張子の前に。このような特殊文字を逃れる方法はありますか?例えば
、私はスペースに20%を回すためにsedを使用:
cat duplicates | sed 's/%20/\\ /g' > clean_duplicates
私はこのようなルックスを探しています出力:
/home/user/Music/Master\ List\'s\ Music/iTunes/iTunes Music/John\ Mayer/Room\ for\ Squares\ \[Aware\]/07\ 83.m4a
/home/user/Music/Master\ List\'s\ Music/bsg\ season\ 1\ \(Case\ Conflict\ 1\)/06\ A\ Good\ Lighter.mp3
/home/user/Music/Master\ List\'s\ Music/Nino\ Rota/The Godfather\ Pt\.\ 3\/14\ A\ Casa\ Amiche.m4a
次の2つのファイル 'fooという%の20bar'と' FOOのbar'が本当に重複していることを確認することができますか?私。まったく同じファイルなので、何も失うことなく確実に 'foo%20bar'を吹き飛ばすことができます。 – Kaz
重複ファイルにパーセントエンコードされた名前が含まれていると言っていますが、ファイルシステム内のファイルにそのような名前はありませんか? – Kaz
@Kaz、確かな質問...私はbansheeのbanshee.dbファイルを使用しています。これはすでにすべてをインデックスしています。リストにあるファイル名は、実際にはすべてのトラックを含むテーブルのURIです。 –