
Tengo un archivo de texto que contiene más de 10 millones de líneas. El archivo se ve así:
1902400023
1902400029
1902400031
1902400032
Quería agregar un encabezado, un número de identificación incremental y un CÓDIGO CORTO constante. Esperando resultado:
ID,MSISDN,SHORTCODE
1,1902400023,1
2,1902400029,1
3,1902400031,1
4,1902400032,1
Y esto continuará hasta el final del archivo y escribirá en otro archivo.
Respuesta1
Supongo que necesitas un awk
código de la siguiente manera.
awk 'BEGIN { OFS = ","; header="ID,MSISDN,SHORTCODE" } NR == 1 { print header }
{ $2 = $0; $1 = NR; $3 = 1; }1' file
En la BEGIN
cláusula, configuramos el separador de campo de salida para el ,
operador e inicializamos la cadena del encabezado. Cuando se procesa el archivo, en la primera línea insertamos el encabezado y en las líneas siguientes, insertamos las líneas como se muestra en el OP. NR
es una variable especial en el contexto awk
que rastrea el número de línea que usamos para su contador incremental.
Respuesta2
Aquí puede usar el comando awk como se muestra a continuación para agregar números de línea:
$ awk '{printf("%d:%s\n", NR, $0)}' millionlinetextfile > linenumberedfile