我试着理解这个unix命令,但我并不是一个专家,有人能更详细地解释它吗?
grep '^.\{167\}02'它能表演什么?
发布于 2015-04-14 16:14:49
从手册页(man grep)
grep搜索命名输入文件(或标准输入,如果没有文件名为,或者如果一个连字符-减号(-)作为文件名),搜索包含与给定模式匹配的行。默认情况下,grep打印匹配的行。
用粗体检查该部分:如果您不指定要搜索的文件,它将等待并侦听您的键盘输入,并对键入的每一行进行regex匹配。
如果您想测试它,我建议您使用一个更简单的正则表达式,也许使用更少的字符,比如:^.\{3\}02,然后看看会发生什么:
$ grep '^.\{3\}02'
02
002
0002
00002 <-- this matches and will later be printed and highlighted
00002您通常不使用grep并自己键入行来查看是否匹配,而是使用文件作为参数,或者使用管道提供另一个输入:
ls -la | grep '^.\{167\}02'发布于 2015-04-14 16:03:29
找到从任何(^) 167个符号开始(.)的行(S),该符号后面跟着02。
https://stackoverflow.com/questions/29631895
复制相似问题