作者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