我正在尝试学习bash命令来做一些有用的技巧。
我有一个名为text.txt
的文件。我试图使用grep
,wc -l
和pipe
找出有多少行包含字符串"the"
。
由于我知道管道将一个命令的输出用作另一命令的输入,因此我的方法是:grep "the" | wc -l text.txt
我当时想使用"the"
找到grep
,然后使用wc -l
返回行。我知道我的方法是错误的,因为它不起作用,我现在正在尝试找出不同的组合。谁能解释什么是正确的方法?
谢谢!
答案 0 :(得分:3)
grep the text.txt | wc -l
grep
命令首先需要读取文件,然后将其通过管道传输到wc
。
但是,grep
还内置了行数,因此您可以缩短它,避免额外的过程和管道:
grep -c the text.txt
答案 1 :(得分:0)
如果您对awk
感到满意,请尝试执行一次。
awk '/your_text/{count++} END{print count}' Input_file