获取包含
“
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}'