【发布时间】:2016-03-14 04:10:28
【问题描述】:
我想将可能包含空格的元素行返回到 bash 数组的输出,每行都有自己的数组元素。
例如:
find . -name \*.jpg
... 可能会返回文件名列表。我希望将每个文件名分配给一个数组。简单的解决方案一般都行不通,因为如果文件名中有空格,单词会得到自己的数组元素。
例如,从目录中的文件列表开始:
FILE1.jpg
FILE2.jpg
FILE WITH SPACES.jpg
试试:
FILES=( $(find . -name \*.jpg) )
你会得到(添加以强调单个元素):
$ for f in "${FILES[@]}"; do echo "<$f>"; done
<./FILE>
<WITH>
<SPACES.jpg>
<./FILE1.jpg>
<./FILE2.jpg>
这可能不是你想要的。
如何为数组元素分配行而不考虑包含空格的行?
【问题讨论】:
-
好的;继续删除它,然后。我认为我可以通过提供一种不使用 -print0 的方法来增加一些价值,但没关系。还是谢谢。