嘿伙计们,我在这里有这个命令 ls -la | egrep '^-' | egrep '^([^ ]+[ ]+){8}[.]' | wc -l,它显示 cwd 中隐藏文档的数量。

  • 第一个问题 为什么上面的命令和 ls -la | egrep '^-' | tr -s ' ' | egrep '^([^ ]+[ ]+){8}[.]' | wc -l 有相同的输出 我的意思是,删除多个空格怎么能不写相应的命令呢?
  • 另外,我 100% 不明白第二个 egrep 的作用,请有人向我解释它所做的分离。
  • 最佳答案

  • tr -s ' ':-

    它只会压制空间。

    ls -la 逐行列出所有文件和目录以及文件。

    因此输出中没有任何更改,因为 tr 命令不会取消任何新行。

  • 2.

    在开始时,输入行确实包含除空格以外的任何字符,之后它包含一个或多个空格,这是在组中。所以像这样 8 个组必须在那里之后 .(dot) 是需要的。

    例子:-

    egrep 匹配以下几行。
    drwxxr---x 1 sureshkumar sureshkumar  4096 May 12 10:21 .
    drwxxr---x 1 sureshkumar sureshkumar  4096 May 12 10:21 ..
    

    以下几行不匹配。
    -rw-rw-r-- 1 sureshkumar sureshkumar  6361 May 12 17:30 1.c
    -rwxrwxr-x 1 sureshkumar sureshkumar 12093 May 12 17:30 a.out
    -rw-rw-r-- 1 sureshkumar sureshkumar     0 May 12 17:30 a.txt
    -rw-r--r-- 1 sureshkumar sureshkumar 34326 May 12 10:58 ping.c
    -rw-r--r-- 1 sureshkumar sureshkumar 24951 May 12 15:48 ping_common.c
    -rw-r--r-- 1 sureshkumar sureshkumar  8002 May 11 17:26 ping_common.h
    

    简单的 egrep 匹配隐藏的文件和目录。

    关于unix - 显示隐藏文件命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37185799/

    10-11 21:29