我正在使用grep匹配文件中的字符串。下面是一个示例文件:
example one,
example two null,
example three,
example four null,
Grep -i null myfile.txt返回
example two null,
example four null,
如何像这样返回匹配的行及其行号:
example two null, - Line number : 2
example four null, - Line number : 4
Total null count : 2
我知道-c返回总匹配的行,但我不知道如何正确格式化它,在前面添加总空计数,我不知道如何添加行号。
我该怎么办?
Grep查找行并输出行号,但不允许“编程”其他东西。如果你想包含任意文本并进行其他“编程”,你可以使用awk,
$ awk '/null/{c++;print $0," - Line number: "NR}END{print "Total null count: "c}' file
example two null, - Line number: 2
example four null, - Line number: 4
Total null count: 2
或者只使用shell(bash/ksh)
c=0
while read -r line
do
case "$line" in
*null* ) (
((c++))
echo "$line - Line number $c"
;;
esac
done < "file"
echo "total count: $c"