[英]/usr/bin/find: Argument list too long in for loop bash script
我有這樣的bash腳本。 我想將一個目錄下的所有.ppm文件gzip
壓縮到另一個目錄。 因此,我編寫了這樣的bash腳本:
cd /export/students/sait/12-may
for next_file in $(find . -type f ! -name *.ppm )
do
/bin/gzip -f -c $next_file > /export/students/sait/12-may-yedek/$next_file.gz
done
執行此腳本時,出現以下錯誤:
/usr/bin/find: Argument list too long
我該如何解決這個問題?
引用此部分: *.ppm
以防止文件名*.ppm
,並刪除!
因為您要查找擴展名為.ppm
文件,而不是相反。
find . -type f -name '*.ppm'
find
命令來執行此操作,以提供空白空間安全性:
find /export/students/sait/12-may -type f -name '*.ppm' -exec sh -c '/bin/gzip -f -c "$0" > "$0".gz' {} \\;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.