Shell 使用grep“^d";在unix中
我正在准备测试,突然遇到一个命令/表达式:Shell 使用grep“^d";在unix中,shell,unix,grep,Shell,Unix,Grep,我正在准备测试,突然遇到一个命令/表达式: grep "^d" | wc -l 有人能解释一下为什么使用此命令吗?此命令用于计算以d开头的行数(在文件中或从管道中) 我可以想象,它用于计算目录中的目录数量。这用于计算以d开头的行数(在文件中或从管道中) grep "^d" | wc -l string string dir dir2 dir3 3 //Out of wc -l command (ie) grep catches only three lines which started wi
grep "^d" | wc -l
有人能解释一下为什么使用此命令吗?此命令用于计算以
d
开头的行数(在文件中或从管道中)
我可以想象,它用于计算目录中的目录数量。这用于计算以
d
开头的行数(在文件中或从管道中)
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"
grep "^d" | wc -l
我可以想象它被用来计算一个目录中的目录数量
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"
grep "^d" | wc -l
在您传递“CTRL+D”之后,执行上述命令将从标准输入中查找输入,EOF、grep将捕获该输入(我更喜欢grep greps:))只有以“D”开头的行和wc-l统计grep传递给它的行数
基本上,grep读取文件、管道和标准输入。这是第三个案例
在您传递“CTRL+D”之后,执行上述命令将从标准输入中查找输入,EOF、grep将捕获该输入(我更喜欢grep greps:))只有以“D”开头的行和wc-l统计grep传递给它的行数
基本上,grep读取文件、管道和标准输入。这是第三种情况。
^
在正则表达式中表示“在行首”
是的,这将grep
用于以d开始的任何行
注意,在这种情况下,表达式应为:
grep“^d”-c
,-c
,用于计数匹配,以避免调用另一个二进制。^
在正则表达式中表示“在行首”
是的,这将grep
用于以d开始的任何行
注意,在这种情况下,表达式应为:
grep“^d”-c
,-c
用于计数匹配,以避免调用另一个二进制文件。打印包含模式匹配项的行
因此,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
,该行最终计算其输入中的行数。打印包含模式匹配项的行
因此,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
,最后计算其输入中的行数。Unix中的“^d”也用作目录指示
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"
grep "^d" | wc -l
此命令可用于计算目录中的目录数,如-
ls -lrth | grep "^d" | wc -l
要仅获取目录中的文件数,可以排除“^d”,如-
Unix中的“^d”也用作目录的指示
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"
grep "^d" | wc -l
此命令可用于计算目录中的目录数,如-
ls -lrth | grep "^d" | wc -l
要仅获取目录中的文件数,可以排除“^d”,如-
希望不要从ls-l
输出中计算目录——从脚本中计算目录的最佳实践方法根本不涉及ls
<代码>(shopt-s nullglob;set--*/;echo$#)
顺便说一句,这类问题是您的朋友。考虑一下在将来使用它,只询问你检查过结果后不清楚的内容。希望不要从<>代码> ls -L/<代码>输出中计算目录——从脚本中计算目录的最佳实践方法根本不涉及<代码> ls < /代码>。代码>(shopt-s nullglob;set--*/;echo$#)
顺便说一句,这类问题是您的朋友。先考虑使用它,然后只询问在检查其结果后不清楚什么。<代码> GRP- C′^ D′/CODE >,而POSIX不需要在前面的参数之前对这些选项进行解析,因此GNU工具允许另一个排序,但它们是作为扩展的。<代码> GRP-C’^ D’< /代码>相反,POSIX不要求在参数前面解析选项,因此,尽管GNU工具允许其他排序,但它们作为扩展进行解析。