嗨,我想停止search,一旦我到了这个词的结尾。
例如:
ls -al | grep adh
这就是我的search…我想停止“h”
我正在search的目录有adh两个实例,有adh2和adh …我只是想adh不adh2 !
特殊字符和URL重写
如何仅在diff块中search – gvim diff
如何使用sedreplace这种types的string?
Express 4中间件不在DigitalOcean服务器上呼叫路由
QT从3个连续的括号中捕获数据
希望这是有道理的,任何问题,请问:)
仅供参考我是Linux / perl初学者!
在terminal上用正则expression式分组提取string
用SED重复正则expression式replace
使用正则expression式来匹配字符,除非“马上”跟着另一个特定的字符
使用$结束行:
ls -al | grep " adh$"
应该做到。
测试
$ touch faaa $ touch faaa2 $ touch faaa3 $ touch afaaa $ ls -al | grep faaa -rw-rw-r-- 1 me me 0 Jul 25 14:24 afaaa -rw-rw-r-- 1 me me 0 Jul 25 14:24 faaa -rw-rw-r-- 1 me me 0 Jul 25 14:24 faaa2 -rw-rw-r-- 1 me me 0 Jul 25 14:24 faaa3 $ ls -al | grep faaa$ -rw-rw-r-- 1 me me 0 Jul 25 14:24 afaaa -rw-rw-r-- 1 me me 0 Jul 25 14:24 faaa $ ls -al | grep " faaa$" -rw-rw-r-- 1 me me 0 Jul 25 14:24 faaa
一般来说,你应该指定你的adh之后允许的内容。
Fedorqui的答案是好的,如果你的话是在行的末尾,所以:
adh$
平均匹配adh和行结束。
这不适用于空格分隔的单词,就像
adh something adh2 another
在类似的情况下,你应该写:
grep 'adh '
匹配adh和<space>或
grep `adh[^a-z0-9A-Z]`
匹配adh和任何东西,但字母和数字,或者你可以使用perl regex
grep -P `adhb`
adh的结尾应该是字边界
等等…也许,更多的skillfull正则表达式专家将建议更多的可能性..
一般来说:
command that generates output | grep pattern | head -1
为您提供命令打印的行中的第一个模式。 喜欢:
ls -l | grep " adh$" | head -1
grep有一个-w选项:
-w,--word-regexp Select only those lines containing matches that form whole words. The test is that the matching substring must either be at the beginning of the line,or preceded by a non-word constituent character. Similarly,it must be either at the end of the line or followed by a non-word constituent character. Word-constituent characters are letters,digits,and the underscore.
所以在你的情况下, grep -w adh应该做你想做的事情。
那么,对于初学者来说 – 不要分析这些通常只是坏消息。
但是,因为这是标签perl我会提供一个perlish的答案:
perl -e 'print join "n",grep { /adhb/ } glob "*"'
glob扩展目录模式。
grep是…像grep,它需要正则表达式,但它实际上也可以使用任意代码块。
(所以你可以,例如:
grep { -f && /adhb/ }
用这个名字过滤只是文件( -f文件测试)。 或者运行一个stat或者其他东西
join做它所说的 – 将多个结果与连接字符粘在一起,在这种情况下是换行符。
你可以试试这个:
ls -al | grep -Fx adh
哪里,
-F,--fixed-strings
将PATTERN解释为固定字符串(的列表)。
-x,--line-regexp
只选择完全匹配整行的匹配项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。