
Eu tenho um arquivo de texto que contém mais de 10 milhões de linhas. O arquivo se parece com abaixo:
1902400023
1902400029
1902400031
1902400032
Eu queria adicionar um título, um número de ID incremental e um SHORTCODE constante. Esperando resultado:
ID,MSISDN,SHORTCODE
1,1902400023,1
2,1902400029,1
3,1902400031,1
4,1902400032,1
E isso continuará até o final do arquivo e escreverá em outro arquivo.
Responder1
Eu acho que você precisa de um awk
código como segue
awk 'BEGIN { OFS = ","; header="ID,MSISDN,SHORTCODE" } NR == 1 { print header }
{ $2 = $0; $1 = NR; $3 = 1; }1' file
Na BEGIN
cláusula, definimos o separador do campo de saída para o ,
operador e inicializamos a string do cabeçalho. Quando o arquivo é processado, na primeira linha inserimos o cabeçalho e nas linhas subsequentes inserimos as linhas conforme mostrado no OP. NR
é uma variável especial no contexto awk
que rastreia o número da linha que usamos para seu contador incremental.
Responder2
Aqui você pode usar o comando awk como abaixo para adicionar números de linha:
$ awk '{printf("%d:%s\n", NR, $0)}' millionlinetextfile > linenumberedfile