Grep
‘grep -v’ 是什麼 ^………“’ 意思是?
我寫了這樣一行
diff fileA.txt fileB.txt | grep -v "^[11,12d9]"
。如果沒有該grep
部分,輸出將如下所示:1d0 < loop 11,12d9 < polo < pool
但是使用
grep
,輸出將如下所示:< loop < polo < pool
我認為這
grep -v
有點像反向搜尋。但我不明白這^[11,12d9]
部分,它有什麼作用?
grep -v "^[11,12d9]"
是的,正如您發現的那樣,它用於反轉匹配並將返回與給定模式
-v
不匹配的行。^[11,12d9]
並且
^[11,12d9]
正在做的是說匹配字元,[...]
如果它們出現在一行^
的開頭(是行錨的開頭)然後忽略這些行(因為使用了-v
反向匹配);
1
所以基本上以、,
、或字元之一開頭的2
行將被忽略(在字元類中重複字元也將被忽略)。d``9
但如果您想忽略以 string 開頭的行
11,12d9
,則需要grep -v '^11,12d9'
.*與問題無關,但要記錄有關字元類中的
]
,^
和-
字元的使用:if
^
字元:它可以放在任何地方,[]
但不能放在第一個字元;如果它是第一個字元,它會對該類中的字元進行否定。if
]
字元:它應該是第一個字元。if
-
字元:它應該是最後一個字元。