awk 打印出带有行号的文件

awk 打印出带有行号的文件

我想打印一个包含 1 列列表值的文件,例如:

cat
dog
house

但我想让文件像这样打印到另一个文件:

1 cat
2 dog
3 house

我认为 awk 可以用来做到这一点?

你能提供执行此操作的命令吗?我知道我需要执行以下操作来打印文件:

awk -F '{ print $1 }'

但我会做这样的事情:

int i
awk -F '{ print i, " " $1 }'
i++

(把我的 awk 书忘在工作中了)

答案1

NR这可以通过(记录数)来完成:

awk '{ print NR, $1 }'

例子:

$ echo -e "test test\ntest test" | awk -F'\n' '{print NR, $1}'
1 test test
2 test test

答案2

您可以使用行和列限制,例如:

我想显示 cpu 的平均空闲百分比,如图所示:

iostat

所以,你可以使用命令:

 iostat | awk 'NR==4{print $6}'

结果: iostat | awk 'NR==4{打印 $6}'

相关内容