Isso é exatamente o que awk
é bom em:
awk -F'\t' -vOFS='\t' '{ $9 = "test=" $9 ";" }1'
-F'\t'
diz para usar campos separados por tabulações. -vOFS='\t'
diz para usar abas na saída também. O corpo real dele é o último argumento: é um pequeno programa que diz para cada linha alterar o valor de $9
(o nono campo) para a concatenação de "test=", seu valor original e ";". Deixamos todos os outros campos intactos. O% final1
é para informar awk
para imprimir a nova linha embora tenhamos feito algo a ela.
Se eu der sua entrada (com as abas inseridas):
$ cat data
1 2 3 4 5 6 7 8 text still more text in this column 10
1 2 3 4 5 6 7 8 text2 still more text in this column 10
então eu posso executar o comando acima:
$ awk -F'\t' -vOFS='\t' '{ $9="test=" $9 ";" }1' < data
1 2 3 4 5 6 7 8 test=text; still more text in this column 10
1 2 3 4 5 6 7 8 test=text2; still more text in this column 10
e obtenha a saída desejada. Você pode salvá-lo em um arquivo com o redirecionamento >
:
$ awk -F'\t' -vOFS='\t' '{ $9="test=" $9 ";" }1' < data > processed-data