Re: [问题] 在字串里找到符合的字符

楼主: CindyLinz (Cindy Wang)   2013-06-21 16:57:30
※ 引述《jacobcan118 (jacobcan118)》之铭言:
: /* 听说注明使用的语言、环境
: * 问题有可能较容易被解决...
: */
: 请问在shell script有没有简单的command 能够在字串里找到符合的字符. 有想用grep但是找a会把aa 和ab都找出来, 也想过用一个while loop 加判断.不过觉的太麻烦了.谢谢
: string=aa_ab_bb
: string=a_aab_abbb
: string=aaa_abb_bb
: string=aaaa_aab_bb
: string=aaa_ab_bb_cd_aa
: .....
: 如找aa只希望
: aa_ab_bb
: aaa_ab_bb_cd_aa
: 如找bb只希望
: aa_ab_bb
: aaa_abb_bb
: aaa_ab_bb_cd_aa
$ perl -pe '$_ = /(^|_)aa(_|$)/ && $_' < file
中间亮起来的部分换成你要找的字
最后面的 file 假设是你的资料档案, 或用 cat | 之类的从前面接也可以
我这边假设档案内容长这样:
aa_ab_bb
a_aab_abbb
aaa_abb_bb
aaaa_aab_bb
aaa_ab_bb_cd_aa
作者: NotExist (杏仁)   0000-00-00 00:00:00
确实 bsd的grep 不能用perl的regexp
楼主: CindyLinz (Cindy Wang)   2013-06-21 17:01:00
我想你接受 grep+参数, 那 perl+参数 应该也可以吧 :p
作者: jacobcan118 (jacobcan118)   2013-06-22 10:10:00
请问如果用shell script要怎么写?
楼主: CindyLinz (Cindy Wang)   2013-06-24 01:59:00
我只有对 perl 比较熟呀.. 我写 shell 档的话...还是在里面 pipe 给 perl 吧 ^^|
作者: imio24 (imio)   2013-06-24 12:28:00
感谢
作者: dododavid006 (朔雪)   2013-07-24 15:05:00
grep 加 -P 就可以接受perl的正规表示式了啊
楼主: CindyLinz (Cindy Wang)   2013-07-29 14:00:00
manpage 说 BSD 不能用?

Links booklink

Contact Us: admin [ a t ] ucptt.com