awk只显示数字

时间:2014-05-10 06:49:18

标签: bash awk

我在awk中有命令:

awk '$0 !~ /[a-z]/ && $0 != 0' input.txt >> output.txt

所以我的输入是这样的:

123214
wedsd
sda25567
ssdf
!@!@#@%

我的输出是:

123214
!@!@#@%

我认为awk我做错了。

我想awk只是告诉我数字,我该怎么办?

由于

2 个答案:

答案 0 :(得分:2)

!@!@#@%不包含a-z,而不包含0 这就是你得到点击的原因。

要获取数字,请使用锚点:

awk '/^[[:digit:]]+$/'  file
123214

awk '/^[0-9]+$/' file

答案 1 :(得分:2)

试试这个:

awk '/^[0-9]+$/ && $0 != 0 {print}' input.txt >> output.txt