我喜欢读取文件列表并使用-printf输出它,其中我基本上创建了一个由换行符分隔的字符串。当我尝试遍历这个时,其中带有空格字符的文件名将呈现为新条目。
如何在保留文件名中的空格的同时阅读本文?
loop() {
files=$(find "${base}" -name "*" -printf "%TD%TT|%p\n")
for string in $files
do
stamp=${string%|*}
file=${string#*|}
echo "$stamp - $file"
done
}
答案 0 :(得分:2)
由于shellter的注释,While循环允许我将这些行分成变量:
loop() {
while read string
do
stamp=${string%|*}
file=${string#*|}
files_new[$file]=$stamp
done < <(find "${base}" -name "*" -printf "%TD%TT|%p\n")
}