Shell三劍客之grep 21道練習題

2021-10-07 10:24:17 字數 1624 閱讀 4819

#1)輸出 b 檔案中在 a 檔案相同的行

grep -f a b

#2)輸出 b 檔案中在 a 檔案不同的行

grep -v -f a b

#3) 匹配多個模式

echo "a bc ed" | xargs -n 1 | grep -e 'a' -e 'ed'

#4)去除 http.conf 檔案空行或開頭#號的行

#5) 匹配開頭不分大小寫的單詞

echo "a b a c r" | xargs -n 1 | grep -i '^a'

#6)只顯示匹配的字串

echo "marry harry lucy baby" | xargs -n 1 | grep -o 'arr'

#7)輸出匹配的前五個結果

seq 1 10 | grep -m 5 '[0-9]'

#8)統計匹配多少行

seq 1 20 | egrep -c '[0-9]+'

#9) 匹配 b 字元開頭的行

echo "babyyoucanfly ohnoyouare heiheishide" | xargs -n 1 | grep '^b'

#10) 匹配 de 字元結尾的行並輸出匹配的行號

echo "babyyoucanfly ohnoyouare heiheishide" | xargs -n 1 | grep -n 'de$'

#11) 遞迴搜尋/etc 目錄下包含 ip 的 conf 字尾檔案

grep -r '192.168.1.20' /etc/ --include *.conf

#12) 排除搜尋 bak 字尾的檔案

grep -r '192.168.1.20' /etc/ --exclude *.bak

#13) 排除來自 file 中的檔案

grep -r '192.168.1.20' /etc/ --exclude-from file

#14) 匹配 41 或 42 的數字

seq 41 45 | grep '4[12]'

#15) 匹配至少 2 個字元

echo "hello world hi earth o" | xargs -n 1 | grep -e '\w'

#16) 匹配至少 2 個字元的單詞,最多 3 個字元的單詞

echo "a hi hello world okk" | xargs -n 1 | grep -e -w '\w'

#17) 匹配所有 ip

ifconfig | grep -e -o '([0-9]\.)[0-9]'

#18) 列印匹配結果及後 3 行

seq 1 10 | grep 5 -a 3

#19) 列印匹配結果及前 3 行

seq 1 10 | grep 5 -b 3

#20) 列印匹配結果及前後 3 行

seq 1 10 | grep 5 -c 3

#21) 不顯示輸出

不顯示錯誤輸出:

grep -s 'aaaa' /etc/fstab

不顯示正常輸出:

grep -q 'aaaa' /etc/fstab

shell三劍客之grep

grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果...

shell三劍客之grep

grep 是乙個基於正規表示式的全域性文字搜尋工具,根據使用者指定的 模式 pattern 對目標文字進行過濾,顯示匹配到的行。grep options pattern filenamegrep適合單純的查詢或匹配文字,且區分大小寫的。a 不忽略二進位制資料 i 不區分大小寫,忽略字元大小寫 v 取...

三劍客之GREP

grep基本用法 檢索條件關鍵字工具 grep options pattern file.color 高亮顯示匹配到的字串 v 顯示不能被pattern匹配到的 i 忽略字元大小寫 o 僅顯示匹配到的字串 q 靜默模式,不輸出任何資訊 a after,匹配到的後 行 b before,匹配到的前 行...