删除文件中只包含shell脚本编号的行

时间:2016-08-26 12:34:26

标签: shell

我有一个文件,其中包含每行中的数字序列。我想删除只有数字

的行

我试过(无济于事):

$ cat -n input_file > output_file

我的文件包含

1 name
2
3 Age
4
5 state
6 city

我希望输出为

1 name
3 Age
5 state
6 city

3 个答案:

答案 0 :(得分:1)

一个简单的awk公式可以:

cat input_file | awk ' ($2 != "") { print $N } '

编辑:汤姆评论的清洁方式

awk ' ($2 != "") { print $0 } ' input_file

答案 1 :(得分:1)

最简单的方法是使用grep并查找包含任何字符的行。

TESTFILE.TXT:

1 name
2
3 Age
4
5 State
6 city

然后尝试:

grep '[a-zA-Z]' testfile.txt
1 name
3 Age
5 State
6 city

答案 2 :(得分:1)

从这个文件开始:

name

Age

state
city

您可以跳过空行并添加如下数字:

awk 'NF { print NR, $0 }' file

当该行包含任何非空白字符(即空格或制表符以外的任何字符)时,请打印行号,然后打印该行的内容。

如果数字已经在输入文件中,您可以使用:

awk 'NF > 1' file

这将打印包含多个字段的任何行。