【发布时间】:2009-10-14 01:44:33
【问题描述】:
假设我有一个文件列表
file1
"file 1"
file2
for...in 循环在空格之间分解,而不是换行符:
for x in $( ls ); do
echo $x
done
结果:
file
1
file1
file2
我想对每个文件执行一个命令。上面的“文件”和“1”不是实际文件。如果文件名包含空格或逗号等内容,我该怎么做?
这比我想象的要复杂一些 find -print0 | xargs -0 可以处理,因为我实际上希望命令类似于“convert input/file1.jpg .... output/file1.jpg”,所以我需要在此过程中置换文件名。
【问题讨论】:
标签: bash command-line shell