linux命令grep -is“abc”filename | wc -l

时间:2011-02-03 17:02:14

标签: linux command

这是什么意思,当管道进入wc时是什么意思?我知道它最终会计算出文件filename中出现的abc数量,但不确定选项s for和for pipe to wc mean

linux command grep -is "abc" filename|wc -l

输出

    47

5 个答案:

答案 0 :(得分:2)

-s表示“禁止有关不可读文件的错误消息”,管道指向wc表示“获取输出并将其发送到wc -l命令”,这有效地计算了匹配的行数。您可以使用grep:grep -isc“abc”filename

的-c选项完成相同的操作

答案 1 :(得分:2)

考虑,

command_1 | command_2

管道的作用是 - 它接收在它之前写入的命令的输出(这里是command_1)并将该输出提供给在它之后写入的命令(这里是command_2)。

答案 2 :(得分:1)

man页面包含您想要了解的有关grep选项的所有内容:

   -s, --no-messages
          Suppress  error  messages about nonexistent or unreadable files.
          Portability note: unlike GNU grep, traditional grep did not con-
          form to POSIX.2, because traditional grep lacked a -q option and
          its -s option behaved like GNU grep's -q option.  Shell  scripts
          intended to be portable to traditional grep should avoid both -q
          and -s and should redirect output to /dev/null instead.

wc -l的管道可以计算字符串“abc”出现的行数。它不一定是字符串出现在文件中的次数,因为一个多次出现的行将被计​​为仅为1。

答案 3 :(得分:0)

grep手册页说:

-s, --no-messages         suppress error messages

grep返回其中包含abc(不区分大小写)的行。您将它们管道到wc以获取行数。

答案 4 :(得分:0)

来自man grep

   -s, --no-messages
          Suppress  error  messages about nonexistent or unreadable files.

wc命令计算行,单词和字符。使用-l它返回行数。