Como adicionar uma coluna se a linha contiver uma string?

0

Se eu tiver um arquivo delimitado por tabulações contendo as seguintes linhas:

Sample1-Baboon  1  2  3  4
Sample2-Human   1  2  3  4
Sample3-Human   1  2  3  4
Sample4-Baboon  1  2  3  4

Como posso adicionar uma nova coluna no final da linha para as linhas que contêm a string 'Baboon' ?

    
por gaelgarcia 09.02.2015 / 22:53

3 respostas

1

Se o arquivo tiver o nome baboon.txt :% sed '/Baboon/ s/$/ Baboon/' baboon.txt

Para gravar as alterações no arquivo, use a opção -i .

sed -i '/Baboon/ s/$/ Baboon/' baboon.txt

    
por 09.02.2015 / 23:07
1
sed -i '/Baboon/ s/$/\t5/' your_file

Isso pesquisará your_file para as linhas que contêm Baboon e substituirá o último caractere nessas linhas por tab character seguido por 5 . O -i gravará as alterações no arquivo in-place .

    
por 09.02.2015 / 23:13
0

Você pode usar o Vim no modo Ex:

ex -sc 'g/Baboon/s/$/\t5/' -cx file
  1. g regex global

  2. s substituto

  3. x salvar e fechar

por 17.04.2016 / 15:05