删除文件中在shell脚本中只有数字的行

删除文件中在shell脚本中只有数字的行,shell,Shell,我有一个文件,每行都包含数字序列。我想删除只有数字的行 我试过(没用): 我的文件包含 1 name 2 3 Age 4 5 state 6 city 我希望输出为 1 name 3 Age 5 state 6 city 一个简单的公式可以: cat input_file | awk ' ($2 != "") { print $N } ' 编辑:从汤姆的评论看更干净的方式 awk ' ($2 != "") { print $0 } ' input_file 一个简单的公式可以: cat

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

我试过(没用):

我的文件包含

1 name
2
3 Age
4
5 state
6 city
我希望输出为

1 name
3 Age
5 state
6 city
一个简单的公式可以:

cat input_file | awk ' ($2 != "") { print $N } '
编辑:从汤姆的评论看更干净的方式

awk ' ($2 != "") { print $0 } ' input_file
一个简单的公式可以:

cat input_file | awk ' ($2 != "") { print $N } '
编辑:从汤姆的评论看更干净的方式

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

最简单的方法是使用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

最简单的方法是使用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

从该文件开始:

name

Age

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

awk 'NF { print NR, $0 }' file
当该行包含任何非空白字符(即空格或制表符以外的任何字符)时,请打印行号,后跟该行的内容


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

awk 'NF > 1' file

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

从该文件开始:

name

Age

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

awk 'NF { print NR, $0 }' file
当该行包含任何非空白字符(即空格或制表符以外的任何字符)时,请打印行号,后跟该行的内容


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

awk 'NF > 1' file

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

此问题不显示任何研究效果。您向我们显示的第一个文件是
input\u file
output\u file
?此问题不显示任何研究效果是您向我们显示的第一个文件
input\u file
output\u file
N
因此将被强制为
0
。如果您想引用整行内容,请直接使用
$0
,或者只需编写
打印
。另外,也不需要将cat传输到awk。谢谢@J.Chomel和@Tom Fenech
N
未定义,因此将强制执行
0
。如果您想引用整行内容,请直接使用
$0
,或者只需编写
打印
。另外,也没有必要用管子把猫传给awk。谢谢@J.Chomel和@Tom Fenech