1. 程式人生 > >linux shell 獲取檔案中包含特殊字元的第一行行數 和最後一行行數

linux shell 獲取檔案中包含特殊字元的第一行行數 和最後一行行數

獲取包含2018-01-02”的第一行行號cat 1.txt | egrep "2018-01-02" -nR | awk -F ":" '{print $1}'| awk '(NR==1){print $0}'

獲取包含“2018-01-02”的最後一行行號

cat 1.txt | egrep "2018-01-02" -nR | awk -F ":" '{print $1}'| awk 'END{print $0}'

獲取包含“2018-01-02”的第一行和最後一行的行號

cat 1.txt | egrep "2018-01-02" -nR | awk -F ":" '{print $1}'|  awk '(NR==1){print $0} END{print $0}'

如果報錯:Binary file (standard input) matches;

意思為檔案是二進位制檔案,不能直接grep

解決辦法:

在 egrep後邊加-a

cat 1.txt | grep -a "2018-01-02" -nR | awk -F ":" '{print $1}'| awk 'END{print $0}'