Linux查询后缀命里,关于linux:如何格式化我的grep输出以在行尾显示行号,以及命中计数?...

我正在使用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返回总匹配行,但我不知道如何正确格式化它以在前面添加total null count,我不知道如何添加行号。

我能做什么?

-n返回行号。

-i用于忽略大小写。仅在不需要大小写匹配时使用

$ grep -in null myfile.txt

2:example two null,

4:example four null,

与awk组合以在匹配后打印出行号:

$ grep -in null myfile.txt | awk -F: '{print $2" - Line number :"$1}'

example two null, - Line number : 2

example four null, - Line number : 4

使用命令替换打印出总空计数:

$ echo"Total null count :" $(grep -ic null myfile.txt)

Total null count : 2

我可以通过添加行号而不是之前添加行号来格式化:

当然,我已经更新了我的答案。

你的解决方案似乎很好,但得到一个错误awk95: syntax error at source line context is >>> ' <<< missing } awk95: bailing out at source line 1

抱歉切换到Linux现在它的工作:)它是Windows版本不太好

......那些说-ni的骑士就是你怎么记住这个伎俩的

使用-n或--line-number。

查看man grep以获取更多选项。

新的linux用户懒得阅读手册页。 但是,如果他们使用足够的Linux,他们将习惯它:)这是超级有用的:)

并不总是懒惰,(但有时候),通常是新Linux用户无法理解手册页。 (他们看起来很神秘)

有时候手册页可能需要很多页面。 这很难读懂所有这些

或者使用awk代替:

awk '/null/ { counter++; printf("%s%s%i

",$0," - Line number:", NR)} END {print"Total null count:" counter}' file

使用grep -n -i null myfile.txt输出每个匹配前面的行号。

我不认为grep有一个开关来打印匹配的总行数,但你可以将grep的输出管道输出到wc来实现:

grep -n -i null myfile.txt | wc -l

-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

echo"total count: $c"

或者在perl中(为了完整性......):

perl -npe 'chomp; /null/ and print"$_ - Line number : $.

" and $i++;$_="";END{print"Total null count : $i

"}'

请参阅此链接以获取linux命令linux

http://linuxcommand.org/man_pages/grep1.html

用于显示行号,代码行和文件在终端或cmd中使用此命令,GitBash(由终端供电)

grep -irn"YourStringToBeSearch"

只是觉得我将来可以帮助你。要搜索多个字符串和输出行号并浏览输出,请键入:

egrep -ne 'null|three'

将会呈现:

2:example two null,

3:example three,

4:example four null,

egrep -ne 'null|three' | less

将以较少的会话显示输出

HTH

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值