当我遇到命令/表达时,我正准备进行测试:
grep "^d" | wc -l
有人可以解释为什么使用这个命令吗?
答案 0 :(得分:1)
这用于计算以d
开头的行数(在文件中或从管道中)。
我可以想象它用于计算目录中的目录数量。
答案 1 :(得分:1)
^
表示在行的开头处'。
所以,对于以grep
d
请注意,在这种情况下,表达式应为:
<{1}},grep "^d" -c
用于计数匹配,以避免调用另一个二进制文件。
答案 2 :(得分:1)
“ ^ d”也用作目录的指示。
grep "^d" | wc -l
此命令可用于计算目录中的目录号,例如-
ls -lrth | grep "^d" | wc -l
要仅获取目录中的文件数,可以排除“ ^ d”,例如-
ls -lrth | grep -v "^d" | wc -l
答案 3 :(得分:0)
grep "^d" | wc -l
string
string
dir
dir2
dir3
3 //Out of wc -l command (ie) grep catches only three lines which started with "d"
执行上面的命令在你传递“CTRL + D”之后查找标准输入的输入,其中EOF,grep捕获(我更喜欢grep greps :))只有以“d”开头的行和wc -l计算的数量grep传递给它。
基本上,grep从文件,管道和标准输入读取。这是第三种情况。
答案 4 :(得分:0)
grep
打印包含模式匹配的行。
因此,grep "^d" | wc -l
计算以d
开头的行数。
假设我在foo.txt
:
dline1 abcd
dline2 abcd
line3 abcd
line4 abcd
dline5 abcd
dline6 abcd
所以,当我运行以下命令时:
cat foo.txt | grep "^d" | wc -l
它返回4
,因为有4行(行数)以d
开头。
cat foo.txt
返回作为输入传递给grep "^d"
的文件内容,该文件内容返回以d
开头的行,该行作为输入传递给wc -l
,最终对行进行计数它的输入。