Como posso pesquisar e substituir uma variável no Linux?

7

Eu tenho um monte de arquivos com muitas linhas configuradas assim:

what,r-crq,What,What,VAC5700-035080,What
i,pns11,I,I,VAC5700-035090,I
do,vdd,did,did,VAC5700-035100,did

Eu quero fazer uma pesquisa e substituir para terminar com isso, armazenando e reinserindo os 4 números após VAC e removendo a parte final do VAC number:

what,r-crq,What,What,VAC5700,What
i,pns11,I,I,VAC5700,I
do,vdd,did,did,VAC5700,did

Existe uma maneira de fazer isso para todos os arquivos de uma só vez (o VAC number irá variar, então ele precisa ser armazenado como uma variável), preferencialmente no shell Bash?

Eu suponho que eu também poderia fazer isso em "Notepad ++" usando regex, mas eu acho que o script de shell seria preferível, pois eu poderia fazer todos os arquivos como um lote.

    
por Brad 30.09.2015 / 19:44

1 resposta

7

Use o comando sed :

sed -e 's|,VAC\([0-9][0-9][0-9][0-9]\)-[0-9]*,|,VAC,|' inFile > outFile

Ele substituirá ,VAC####-#...#, por ,VAC####, .

    
por 30.09.2015 / 19:52