ENTRADA:
Select ASDF 325 sdfg sdflk lk
Select TRG 46sdg rasdftz fsgs 45
Select ASDF 6ffg sdfg 4456 sdrg
SALIDA:
Select ASDF 325 XXXX sdflk lk
Select TRG 46sdg rasdftz fsgs 45
Select ASDF 6ffg XXXX 4456 sdrg
En resumen, necesito "sed" "sdfg" a "XXXX".
PERO: solo en líneas que contienen la cadena "Seleccionar ASDF". ¿Cómo puedo hacer esto? (sed, awk, etc.: \)

gdespués del último=(al final delscomando). Será así:sed '/Select ASDF/ s=sdfg=XXXX=g'Si solo está cambiando la columna 4 si tiene el valor exacto, entonces usar operadores de igualdad en lugar de expresiones regulares tiene sentido.
fuente
Utilizando
GNU awk:Salida:
ACTUALIZACIÓN : Evite
IGNORECASEpara un no GNUawk, y coincida con mayúsculas y minúsculas. Gracias a jw013 , quien señaló ese detalle:fuente
IGNORECASEes una extensiónawk/ GNUgawk.ASDF