这是什么意思,当管道进入wc时是什么意思?我知道它最终会计算出文件filename中出现的abc数量,但不确定选项s for和for pipe to wc mean
linux command grep -is "abc" filename|wc -l
输出
47
答案 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它返回行数。