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