是否有任何等价的命令grep -nP“\ t”some_file,使用sed或awk

我正在试图find一个文件some_file标签的出现,并打印这些行与领先的行号。 grep -nP“\ t”some_file对我来说效果不错,但是我想要sed或者awk相同的命令。

要模拟: grep -nP "\t" file.txt

这里有一个使用GNU awk

 awk '/\t/ { print NR ":" $0 }' file.txt 

下面是使用GNU sed的一种方法:

 < file.txt sed -n '/\t/{ =;p }' | sed '{ N;s/\n/:/ }' 

那么,你总是可以在sed中做到这一点:

 cat -n test.txt | sed -n "/\t/p" 

不幸的是,sed只能用新行打印行号,所以在任何情况下都需要多个命令。 以上更长的(不必要的)版本,但只使用sed,将是:

 sed = test.txt | sed -n "N;s/\n/ /;/\t/p" 

但我更喜欢cat的一个。 猫是很好的。