我正在嘗試爲包含空格,逗號和括號的文件夾創建for循環。例如: Italy - Rimini (Feb 09, 2013)
bash循環帶有符號的目錄
首先它掃描父文件夾/相冊,看起來像上面的示例中的子文件夾。然後它對子文件夾中的文件執行卷曲操作。如果子文件夾不包含空格,逗號或其他符號,它可以正常工作。
for dir in `ls /albums`;
do
for file in /albums/$dir/*
do
curl http://upload.com/up.php -F uploadfile[][email protected]"$file" > out.txt
php process.php
done
php match.php
done
但如果有這樣的符號,似乎捲曲位卡住 - 它無法找到$文件(可能是因爲$ dir是不正確的)。
我可以替換子目錄中的所有符號或刪除它們或將文件夾重命名爲001,002,並且它可以完美地工作。但在訴諸於此之前,我想知道是否可以使用bash技巧解決這個問題,同時保持子文件夾名稱不變?
閱讀關於'find -print0 | xargs ...'在這裏StackOverflow。 100年的exmamples。祝你好運。 – shellter 2013-03-15 10:50:36
迭代'ls'的輸出並不好,因爲文件名可能包含像\ n這樣的時髦字符。 – mtk 2013-03-15 11:55:33