gpt4 book ai didi

linux - 列出目录中的文件名并将输出放在文本文件中

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:00 25 4
gpt4 key购买 nike

我正在尝试查找目录中的所有文本文件并将列表复制到文本文件。我正在使用 for 循环来获取名称。然后输出被放置在文本文件中。但是,我收到一个指示,指出 unexpected token 附近有语法错误$'do\r''`。最好的方法是什么?同样对于文本文件名,我如何用日期/时间戳名称保存它?

FILE_PATH="/my_folder/"
for f in $(find $FILE_PATH -type f -name '*.txt'); do
echo "file '$f'" >> "$FILE_PATH"mylist.txt;
done

最佳答案

不要使用for 循环。为了执行该 for 循环,它首先必须找到所有满足您条件的文件,然后替换该列表到您的 for 循环中。这意味着等待 ``find 在您的 for` 循环开始处理名称之前进行处理。另外,如果有很多文件,您可能会重载命令行并丢失您想要查看的文件。

为什么不呢:

FILE_PATH="/my_folder"
find $FILE_PATH -type f -name '*.txt' > "$FILE_PATH/mylist.txt"

不需要循环。无需 echo 。简单干净。

此外,您不会遇到可能包含空格的文件名问题。

关于linux - 列出目录中的文件名并将输出放在文本文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26446607/

25 4 0