我试图在文件some_file中找到选项卡的出现,并用前导行号打印那些行。 grep -nP "\t" some_file对我来说效果很好,但我想要 sed 或 awk 等效命令。
问问题
467 次
2 回答
3
模仿: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/:/ }'
于 2012-10-12T05:40:36.477 回答
2
好吧,你总是可以在 sed 中做到这一点:
cat -n test.txt | sed -n "/\t/p"
不幸的是,sed 只能用新行将行号打印到标准输出,因此无论如何,需要多个命令。上面的一个更冗长(不必要的)版本,但一个只使用 sed,将是:
sed = test.txt | sed -n "N;s/\n/ /;/\t/p"
但我喜欢cat
多一点的。猫很好。
于 2012-10-12T05:36:23.237 回答