¿Cómo puedo buscar y reemplazar una variable en Linux?

¿Cómo puedo buscar y reemplazar una variable en Linux?

Tengo un montón de archivos con muchas filas configuradas así:

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

Quiero hacer una búsqueda y reemplazo para terminar con esto, almacenando y reinsertando los 4 números posteriores VACy eliminando la parte final del VACnúmero:

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

¿Hay alguna manera de hacer esto para todos los archivos a la vez (el VACnúmero variará, por lo que debe almacenarse como una variable), preferiblemente en el shell Bash?

Supongo que también podría hacer esto en “Notepad++” usando expresiones regulares, pero creo que el script de shell sería preferible ya que podría hacer todos los archivos como un lote.

Respuesta1

Utilice el sedcomando:

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

Se sustituirá ,VAC####-#...#,por ,VAC####,.

información relacionada