当前位置: 技术问答>linux和unix
新手linux shell问题, 关于grep
来源: 互联网 发布时间:2016-11-24
本文导语: grep "^[^:]*:[^:]*:[^:]*:$TTID:" files 我查了相关文档,还是不太理解,请各位帮忙 其中的 "^[^:]*:[^:]*:[^:]*:$TTID:" 怎么解释? 多谢! | 第一个^表示开头 第二个^表示非,后边的^也是非的意思 也就是查找...
grep "^[^:]*:[^:]*:[^:]*:$TTID:" files
我查了相关文档,还是不太理解,请各位帮忙
其中的 "^[^:]*:[^:]*:[^:]*:$TTID:" 怎么解释?
多谢!
|
第一个^表示开头
第二个^表示非,后边的^也是非的意思
也就是查找开头是以非冒号开头的,然后又接着任意字符的,然后冒号,然后任意字符,然后冒号,然后$TTID:
第二个^表示非,后边的^也是非的意思
也就是查找开头是以非冒号开头的,然后又接着任意字符的,然后冒号,然后任意字符,然后冒号,然后$TTID:
|
假定$TTID的值是d
那么下列可以匹配
a:b:c:d:
a:b::d:
aa:b:c:d:
等
也就是冒号分隔的一行中,其第4个域必须是d
那么下列可以匹配
a:b:c:d:
a:b::d:
aa:b:c:d:
等
也就是冒号分隔的一行中,其第4个域必须是d
|
滤出由四个冒号分隔的字段构成的行,行尾是冒号,最后一个字段的值是TTID
|
第一个^表示文件行必须以后面的串打头,否则不匹配
[^:] 这里面的^表示非,[^:]也就是不是冒号的字符
*表示0个或多个字符,[^:]*就是不是冒号的字符重复多次
[^:] 这里面的^表示非,[^:]也就是不是冒号的字符
*表示0个或多个字符,[^:]*就是不是冒号的字符重复多次
|
这个是正则表达式吧,我猜的
|
你猜对了!
|
正则表达式
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。