我有一个人口档案,如下所示:
Pop_ID
good
HA_27
HA_14
HA_1
HA_20
HA_17
HA_26
HA_22
HA_7
HA_7
HA_16
HA_14
HA_2
HA_1
HA_11
HA_3
HA_7
HA_25
HA_23
我想打印具有特定字符的行的行号。例如,“ HA_1
”,其中第 5 行和第 15 行有此字符。
5
15
答案1
和awk
。
awk '/\<HA_1\>/{print NR}' infile
和sed
。
sed -n '/\<HA_1\>/=' infile
答案2
使用sed
:
$ sed -n '/^HA_1$/=' file
5
15
该sed
表达式/^HA_1$/=
会将=
命令应用于与正则表达式匹配的所有行^HA_1$
。该=
命令将输出当前行号,正则表达式匹配任何唯一内容为 的行HA_1
。
答案3
grep+切方法:
grep -wn 'HA_1' file | cut -d':' -f1
输出:
5
15