【发布时间】:2015-10-18 10:29:15
【问题描述】:
$ a=$(find . -iname 'app.conf' 2>/dev/null)
上面给了我一个如下所示的文件列表:
$ echo "$a"
./etc/apps/dashboard_examples/default/app.conf
./etc/apps/framework/server/apps/homefx/splunkd/default/app.conf
.
.
.
我怎样才能对这些文件中的每一个都做一个 cat,然后 grep?
我可以在数组中的第一个元素上做 cat 吗? cat a[1]?或者我如何将 a 放入像数组这样的格式?
【问题讨论】:
-
$a变量的值不是数组。它是一个字符串。您不能安全地(面对名称中带有空格/换行符/等的文件)对find调用的结果进行安全操作。请参阅Bash FAQ 001,了解安全、正确地处理逐行数据的方法。另请注意,如果有用, find 可以-exec对它找到的内容发出命令。