作者CindyLinz (Cindy Wang)
看板RegExp
标题Re: [问题] 在字串里找到符合的字元
时间Fri Jun 21 16:57:30 2013
※ 引述《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
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 112.121.80.249
1F:→ CindyLinz:我想你接受 grep+参数, 那 perl+参数 应该也可以吧 :p 06/21 17:01
2F:推 jacobcan118:请问如果用shell script要怎麽写? 06/22 10:10
3F:→ CindyLinz:我只有对 perl 比较熟呀.. 我写 shell 档的话... 06/24 01:59
4F:→ CindyLinz:还是在里面 pipe 给 perl 吧 ^^| 06/24 01:59
5F:推 imio24:感谢 06/24 12:28
6F:推 dododavid006:grep 加 -P 就可以接受perl的正规表示式了啊 07/24 15:05
7F:→ CindyLinz:manpage 说 BSD 不能用? 07/29 14:00
8F:→ NotExist:确实 bsd的grep 不能用perl的regexp 10/10 08:04