我创建了一个简单的脚本,使用cat命令打印文本文件的内容.现在我想打印一条线及其编号,但同时我需要忽略空行.需要以下格式:

1 George Jones Berlin 2564536877
2 Mike Dixon Paris 2794321976

我试过用

cat -n catalog.txt | grep -v '^$' catalog.txt

但我得到以下结果:

 George Jones Berlin 2564536877
 Mike Dixon Paris 2794321976

我设法摆脱了空白行,但没有打印行号.我究竟做错了什么?


以下是catalog.txt的内容:

 George Jones Berlin 2564536877

 Mike Dixon Paris 2794321976

解决方法:

您的解决方案不起作用,因为cat -n catalog.txt已经为您提供了非空行.

你可以将grep的输出传递给cat -n:

grep -v '^$' yourFile | cat -n

例:

的test.txt:

Hello

how
are


you
?
$grep -v '^$' test | cat -n
     1  Hello
     2  how
     3  are
     4  you
     5  ?

标签: shell, bash, linux, grep, cat

相关文章推荐

添加新评论,含*的栏目为必填