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

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

Eu tenho vários 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

Quero fazer uma pesquisa e substituir para terminar com isso, armazenando e reinserindo os 4 números depois VACe removendo a parte final do VACnúmero:

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 vez (o VACnúmero pode variar, então precisa ser armazenado como uma variável), de preferência no shell Bash?

Presumo que também poderia fazer isso no “Notepad++” usando regex, mas acho que o shell script seria preferível, pois eu poderia fazer todos os arquivos em lote.

Responder1

Use o sedcomando:

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

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

informação relacionada