保留 find -printf 输出中的空格
preserve whitespace from find -printf output
我正在使用 fond 读取文件列表并使用 -printf 输出它,我基本上是在创建一个由换行符分隔的字符串。当我尝试遍历此文件时,其中包含空白字符的文件名呈现为新条目。
如何在保留文件名中的空格的同时阅读此内容?
loop() {
files=$(find "${base}" -name "*" -printf "%TD%TT|%p\n")
for string in $files
do
stamp=${string%|*}
file=${string#*|}
echo "$stamp - $file"
done
}
由于 shellter 的评论,While 循环允许我将行分隔为变量:
loop() {
while read string
do
stamp=${string%|*}
file=${string#*|}
files_new[$file]=$stamp
done < <(find "${base}" -name "*" -printf "%TD%TT|%p\n")
}
我正在使用 fond 读取文件列表并使用 -printf 输出它,我基本上是在创建一个由换行符分隔的字符串。当我尝试遍历此文件时,其中包含空白字符的文件名呈现为新条目。
如何在保留文件名中的空格的同时阅读此内容?
loop() {
files=$(find "${base}" -name "*" -printf "%TD%TT|%p\n")
for string in $files
do
stamp=${string%|*}
file=${string#*|}
echo "$stamp - $file"
done
}
由于 shellter 的评论,While 循环允许我将行分隔为变量:
loop() {
while read string
do
stamp=${string%|*}
file=${string#*|}
files_new[$file]=$stamp
done < <(find "${base}" -name "*" -printf "%TD%TT|%p\n")
}