【问题标题】:Bash how to create a txt file of all file names in a directory [duplicate]Bash如何创建目录中所有文件名的txt文件[重复]
【发布时间】:2018-03-21 15:59:42
【问题描述】:

我确信有一个简单的答案,但我一直在努力创建一个包含目录中所有文件名的 txt 文件。

我目前在需要收集所有文件名的目录中。这是我尝试过的。

for i in ls; $i |../log.txt ; done

log.txt 文件存在于上述目录中。

【问题讨论】:

  • 只用ls > ../log.txt,不需要循环。

标签: bash shell unix


【解决方案1】:

工作量太大。

ls > ../log.txt

【讨论】:

【解决方案2】:

这将从列表中排除目录,只留下文件。

ls -p | grep -v / > log.txt 

【讨论】:

    【解决方案3】:

    如果你想使用 for,试试这个:

    for i in *; do echo $i >> /tmp/log.txt; done
    

    【讨论】:

      【解决方案4】:

      这样做 ls >> ../log.txt 附加到现有文件。
      如果您只使用 '>' 文件将被截断。

      【讨论】:

        【解决方案5】:

        只需在终端中运行ls * > log.txt

        【讨论】:

        • 通配符 * 在这里没有任何用处,并且可能会导致问题(如果没有 -d,它将下降到目录中)。 mywiki.wooledge.org/ParsingLs 解释了一些额外的失败场景。
        猜你喜欢
        • 2018-10-23
        • 2010-12-29
        • 1970-01-01
        • 2015-02-28
        • 2014-05-20
        • 2014-09-11
        • 2017-01-21
        • 2018-10-14
        • 2020-06-30
        相关资源
        最近更新 更多