linux - 如何在shell中插入带有序列号的列?

标签 linux shell awk

我有一个包含 4 列的文件。

ifile.txt
2 3 4 2
2 3 4 1
4 3 4 3
4 5 3 5
. . . .

我需要为序列号插入一列,例如:

ofile.txt
1 2 3 4 2
2 2 3 4 1
3 4 3 4 3
4 4 5 3 5
5 . . . .
. . . . .

我尝试使用 awk ,但没有成功

awk '{print i, $1, $2, $3, $4}' ifile.txt > ofile.txt

最佳答案

您可以使用内置的 NR,它是一个从 1 开始的记录计数器。

awk '{print NR, $1, $2, $3, $4}' ifile.txt > ofile.txt

通用形式是:

awk '{print NR, $0}'

这将打印出整个记录(以其序列号为前缀),无论有多少字段。

关于linux - 如何在shell中插入带有序列号的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32041621/

相关文章:

linux - awk 在单列上完全连接 2 个文件

node.js - Grunt - 是否有可能有一个只运行一次的任务?

linux - 将文件分组并通过管道传输到 awk 命令

C++如何检查Shell输入的数量

c - 统计返回 ENOENT

linux - 从脚本中提取邮件 ID

linux - 终端中命令输出的说明

regex - 在 bash/awk/sed 中用随机字母替换字母

linux - 如何在 linux 中从 string1 搜索到 string2?

linux - 一行命令执行多个ssh命令