¿Cómo insertar una columna con el número de serie en el shell? - linux, shell, awk

Tengo un archivo con 4 columnas.

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

Necesito insertar una columna para el número de serie como:

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

Estaba intentando usar awk , pero sin éxito

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

Respuestas

3 para la respuesta № 1

Puedes usar el built-in NR que es un contador de registro basado en 1.

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

El formulario de propósito general es:

awk "{print NR, $0}"

Eso imprimirá el registro completo (prefijado por su número de secuencia), independientemente de la cantidad de campos que haya.


2 para la respuesta № 2

Alternativamente puedes usar el nl que le dará más control sobre el formateo

nl filename

o, para la numeración básica

cat -n filename

preguntas relacionadas
Menú