如何打印包含特定号码的行号?

时间:2016-04-27 17:30:55

标签: linux bash awk

我有6000行,每个号码浮动一行。

我的代码

awk '5.400000e+03 {print $0}' base.txt

仅打印数字

5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03
5.400000e+03

我已改为

awk '{if($0=="5.400000e+03 ") print NR}' base.txt

然后什么也没得到! 我该怎么办?

2 个答案:

答案 0 :(得分:3)

您可以使用:

awk '$1 == "5.400000e+03" {print NR, $0}' base.txt
在您的问题中显示数据后,

$1将始终与第一列匹配,而不考虑空格或没有空格。使用print NR, $0打印前缀为记录编号的每条记录。

答案 1 :(得分:3)

您也可以使用grep:

# just the line number
grep -wn "5.400000e+03" base.txt | cut -d: -f1
# both
grep -wn "5.400000e+03" base.txt