微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

针对重叠的模式匹配进行擦除

这就是我正在运行

grep -o ',[tcb],' <<< "r,t,c,q,cb,b,"

输出

,

但我想得到

,

(我不希望没有前面的b,或没有后面的c匹配)

检查Shell中没有Bashisms的子string

linux +查找机制与不规则expression式(查找命令)或Perl

htaccess比较cookie值,如果评估返回true / false,则redirect

删除报价周围的数字

如何使用sed命令从文件删除包含特定string的行

因为应该在'r',t,“c,qb,b,'r,t”,c,“qb,b”和“r,t,c,qb”中find[tcb] “”

但似乎是,当包含在第一个模式匹配中,然后grep不会在模式匹配的第二个实例中查找

有没有办法解决这个问题,或者是grep不是为了做到这一点

batch file集/ pexpression式

Linux sed – 删除单词不是以特定的字符开始的

打印RegEx在bash中使用SED进行匹配

为什么这个正则expression式不适用于grep?

如何查找名称中带有方括号的文件

你可以使用awk而不是grep来为记录分隔符作为逗号:

awk -v RS=,'/^[tcb]$/{print RS $0 RS}' <<< "r,",

awk解决方案很好。 我有一个与sed + grep:

echo "r," | sed "s/,/,/g" | grep -o ',',

你可以使用grep和Perl RE,它允许非捕获后视和前视模式来提取逗号包围的字母。 然后,您可以按照以下方式恢复分隔符:

grep -o -P '(?<=,)[tcb](?=,)' <<< "r,"|while read c; do echo ",$c,"; done

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐