【问题标题】:Count files, except the hidden files [duplicate]计算文件,除了隐藏文件[重复]
【发布时间】:2019-03-08 08:20:01
【问题描述】:

我正在尝试计算当前文件夹及其每个子文件夹中的所有文件。

find . -type f \(! -iname ".*" \) -print

【问题讨论】:

标签: linux bash


【解决方案1】:

只需点 wc -l 就可以了:

find . -type f -not -path "*/\.*" | wc -l

【讨论】:

  • 请注意,这个问题是关于计算非隐藏文件的,所以您必须反转 iname 条件。
  • 文件完成.sh不算,你现在怎么加?
  • 但不加 -iname "*.sh"
  • 我的错,我刚刚编辑了我的答案。
【解决方案2】:

find . -type f -not -path "./.*" | wc -l

解释:

在当前目录(.) 中查找文件类型(f) 中没有以./.(./ 开头的路径的所有内容) 位于 find 的每个输出项之前,这意味着当前目录),然后将输出提供给wc,这是一个计数程序,-l 参数告诉wc 计算行数。

【讨论】:

  • 这个命令也列出隐藏文件
  • 抱歉,现在更正了。使用path 而不是name,这是有效的,在我的系统上尝试过。感谢您的提示。
  • 这个新命令也匹配嵌套在子目录中的隐藏文件
【解决方案3】:

你可以使用这个find命令:

find -type f ! -regex ".*/\.[^/]+$"  | wc -l

它将在当前目录中查找文件名不是以. 开头的所有文件,即隐藏文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    相关资源
    最近更新 更多