【发布时间】:2014-11-10 07:35:22
【问题描述】:
我有一个名为file_list 的文件,其中包含以空格分隔的字符串,每个字符串都是要处理的文件的文件名。我现在希望遍历所有文件名并一一处理它们。伪代码是
for every filename in file_list
process(filename);
end
我想出了一个相当笨拙的解决方案,就是
- 通过
filenames='cat file_list'将文件加载到变量中 - 按
tr -cd ' ' <temp_list | wc -c计算空格数,N - 从 1 循环到
N并按空格解析每个文件名并使用cut
有更简单/更优雅的方法吗?
【问题讨论】:
-
你试过
for fname in $file_list吗?你用的是什么外壳? -
@DaveNewton 不,我没有。那会奏效吗? (有点惊讶它是如此简单)我正在使用 bash。
-
@DaveNewton 它确实有效!非常感谢!被我的愚蠢震惊了..大声笑
-
for fname in $file_list应该 not 工作:循环遍历 variable$file_name内的名称。但是在您的问题中,您说它不是变量,而是文件名。