一、grep顯示最後一行
grep -n "keyword" file | tail -n 1
在使用grep命令查找關鍵字時,有時候只需要知道該關鍵字最後一次出現的行號,可以使用tail命令只顯示最後一行。
這條命令的意思是,在文件file中查找含有關鍵字”keyword”的行,並標出行號,然後從中取最後一行(也就是最新的匹配行),即可得到該關鍵字最後一次出現的行號。
二、grep只顯示行號
grep -n "keyword" file | cut -d: -f1
有時候,我們不關心關鍵字具體在哪一行,只想知道有多少行包含該關鍵字,這時候可以使用cut命令只保留行號部分。
該命令將會在文件file中查找含有關鍵字”keyword”的行,並標出行號,然後使用cut命令以”:”為分隔符,只保留行號部分輸出。
三、grep顯示前後幾行
grep -n -A 2 -B 3 "keyword" file
當我們需要了解關鍵字在上下幾行的具體內容時,可以使用-A(after)和-B(before)參數分別顯示匹配行後幾行和匹配行前幾行。
該命令將會在文件file中查找包含關鍵字”keyword”的行,並標出行號,同時將匹配行的後兩行和前三行也一起輸出。
四、grep顯示文件名和行號
grep -Hn "keyword" file
使用grep時,有時候需要知道包含該關鍵字的具體文件名和行號,可以使用-H(with-filename)參數加以區分,同時輸出文件名和行號。
該命令將會在文件file中查找含有關鍵字”keyword”的行,並標出行號,同時在匹配行前面加上文件名。
五、grep查看上下幾行
grep -n "keyword" file | awk 'BEGIN {FS=":"} {print $1}' | xargs -I '{}' awk -v n='{}' 'NR>=n-2&&NR<=n+2' file
有時候,我們不僅僅需要知道匹配行的具體內容,還需要知道匹配行的周圍幾行的內容,可以使用awk和xargs結合使用,查看匹配行上下的幾行內容。
該命令將會在文件file中查找含有關鍵字”keyword”的行,並標出行號,然後使用awk命令只取行號,再將結果作為xargs的參數,使用awk命令輸出匹配行上下2行的內容。
原創文章,作者:AKQVK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/333609.html