[英]How to grep strings that contain a query string with any 2 characters in the beginning “xxTHISISMYSTRING” from a file?
我有一個以下格式的多行文件:
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈來
我想找到所有包含“ aaaa”主題以及其前面兩個字母的字符串。
我如何找出字符串: hhaaaa,oaaaaa,hbaaaa,fbaaaa ? 以“ aaaa ”作為輸入。
要匹配正則表達式中的任何字符,請使用.
:
$ grep -o ..aaaa file
hhaaaa
hoaaaa
hbaaaa
fbaaaa
-o
選項告訴grep僅打印匹配項,而不打印匹配項的上下文。
要將匹配限制為字母字符,請使用字母類:
$ grep -Eo '[[:alpha:]]{2}aaaa' file
hhaaaa
hoaaaa
hbaaaa
fbaaaa
[[:alpha:]]
匹配任何字母字符。 與AZ
不同,這是Unicode安全的。 {2}
表示兩個這樣的字符。 為了避免反斜杠,我們添加了-E
標志以打開擴展的正則表達式。
grep -oh "..aaaa" file.txt
會做。
-h,--no-文件名
在輸出中禁止文件名的前綴。 這是默認值
僅搜索一個文件(或僅標准輸入)時。
-o,--only-matching
僅打印匹配行的匹配(非空)部分,
每個這樣的部分都放在單獨的輸出線上。
grep -o '..aaaa' file
應該這樣做。 如果目標是計算總匹配數,則執行以下操作:
grep -o '..aaaa' file | wc -l
GREP手冊頁說:
-o,--only-matching
僅打印匹配行的匹配(非空)部分,每個這樣的部分都在單獨的輸出行上。
WC手冊頁說:
-l,-行
打印換行計數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.