保留查找-printf输出

时间:2016-02-09 05:01:34

标签: bash find printf

我喜欢读取文件列表并使用-printf输出它,其中我基本上创建了一个由换行符分隔的字符串。当我尝试遍历这个时,其中带有空格字符的文件名将呈现为新条目。

如何在保留文件名中的空格的同时阅读本文?

loop() {
    files=$(find "${base}" -name "*" -printf "%TD%TT|%p\n")

    for string in $files
    do 
        stamp=${string%|*}
        file=${string#*|}

        echo "$stamp - $file"
    done
}

1 个答案:

答案 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")
}