【发布时间】:2018-03-21 15:59:42
【问题描述】:
我确信有一个简单的答案,但我一直在努力创建一个包含目录中所有文件名的 txt 文件。
我目前在需要收集所有文件名的目录中。这是我尝试过的。
for i in ls; $i |../log.txt ; done
log.txt 文件存在于上述目录中。
【问题讨论】:
-
只用
ls > ../log.txt,不需要循环。
我确信有一个简单的答案,但我一直在努力创建一个包含目录中所有文件名的 txt 文件。
我目前在需要收集所有文件名的目录中。这是我尝试过的。
for i in ls; $i |../log.txt ; done
log.txt 文件存在于上述目录中。
【问题讨论】:
ls > ../log.txt,不需要循环。
工作量太大。
ls > ../log.txt
【讨论】:
这将从列表中排除目录,只留下文件。
ls -p | grep -v / > log.txt
【讨论】:
如果你想使用 for,试试这个:
for i in *; do echo $i >> /tmp/log.txt; done
【讨论】:
这样做
ls >> ../log.txt
附加到现有文件。
如果您只使用 '>' 文件将被截断。
【讨论】:
只需在终端中运行ls * > log.txt。
【讨论】:
* 在这里没有任何用处,并且可能会导致问题(如果没有 -d,它将下降到目录中)。 mywiki.wooledge.org/ParsingLs 解释了一些额外的失败场景。