我使用此行批量处理pngcrush
,但我的文件包含空格,这些空格会被放入$line
,因为它们不会被删除; t有效路径:
ls *.png | while read line; do pngcrush -brute $line compressed/$line; done
如何让$ line成为转义符号,Button - Users.png
将替换为Button\ -\ Users.png
?
答案 0 :(得分:6)
Don't parse the output of ls
。请改为使用for
循环。
for f in *.png; do
pngcrush -brute "$line" compressed/"$line"
done
答案 1 :(得分:-2)
只需将变量括在双引号中即可。这是一个很好的做法:
ls *.png | while read line; do pngcrush -brute "$line" "compressed/$line"; done