我有我想從某些文件,其中包括引號用grep出這個全系列(rpm命令到下面AWK)。當我嘗試grep和grep -F時,我似乎無法獲得正確的輸出。我試圖從grep語句中刪除部分尾行,它看起來像「!」造成問題。我試圖用單引號包裝字符串,也沒有運氣。謝謝。在grep中轉義感嘆號?
rpm -qVa | awk '$2!="c" {print $0}'
我有我想從某些文件,其中包括引號用grep出這個全系列(rpm命令到下面AWK)。當我嘗試grep和grep -F時,我似乎無法獲得正確的輸出。我試圖從grep語句中刪除部分尾行,它看起來像「!」造成問題。我試圖用單引號包裝字符串,也沒有運氣。謝謝。在grep中轉義感嘆號?
rpm -qVa | awk '$2!="c" {print $0}'
反斜槓應該做的伎倆
rpm -qVa | awk '\$2!="c" {print $0}'
不幸的是,這是行不通的。 –
使用單引號 - 當你需要一個單引號,只是下降了單引號,把一個在同一個反斜槓,和然後回去:
grep 'rpm -qVa | awk '\''$2!="c" {print $0}'\' filename
使用雙現狀TES不僅反斜槓逃脫感嘆號,但一切否則將得到由殼代替:
grep "rpm -qVa | awk '\$2\!=\"c\" {print \$0}'" filename
使用POSIX字符串:
grep $'rpm -qVA | awk \'$2!="c" {print $0}\'' filename
使用較少特定模式:
grep 'rpm -qvA | awk .$2.="c" {print $0}.' filename
或者,如果你有$2=="c"
檢查以及$2!="c"
,你可以做這樣的事情:
grep 'rpm -qvA | awk .$2[^=]="c" {print $0}.' filename
我會去的POSIX串,或者也許是普通單引號選項 - 這在其他炮彈中有着可爭議的優勢,如dash
。
完整添加grep行示例可能會有幫助。我想它是這樣的:'grep'rpm -qVa | awk'$ 2!=「c」{print $ 0}「' – bonsaiviking
如果您正在收到」event not found「,請關閉Bash中的'histexpand'選項。但是,IIRC單引號應該防止這種情況發生。 – tripleee