Hola, ¿cómo puedo usar gsub para reemplazar una palabra que tiene paréntesis?
Aquí quiero reemplazar ABC (T) con ABC / G
awk ' {gsub("ABC\(T\)","ABC/G")}; Print $0' "$FILENAME" > tmp.tmp && mv tmp.tmp "$FILENAME"
Hola, ¿cómo puedo usar gsub para reemplazar una palabra que tiene paréntesis?
Aquí quiero reemplazar ABC (T) con ABC / G
awk ' {gsub("ABC\(T\)","ABC/G")}; Print $0' "$FILENAME" > tmp.tmp && mv tmp.tmp "$FILENAME"
Respuestas:
Podría simplificar todo si usa el //
formato para gsub
:
$ echo "ABC(T)" | awk '{gsub(/ABC\(T\)/,"ABC/G")}; print $0'
ABC/G
Luego, podría simplificar aún más si usa print
sin argumentos (que es lo mismo que print $0
) o la 1
abreviatura para imprimir (la awk
acción predeterminada para expresiones que se evalúan como verdaderas, como 1;
imprimir la línea actual):
$ echo "ABC(T)" | awk '{gsub(/ABC\(T\)/,"ABC/G")}1'
ABC/G
Personalmente, sin embargo, no lo usaría awk
para esto, la sintaxis es más corta y limpia con otras herramientas:
$ echo "ABC(T)" | sed 's|ABC(T)|ABC/G|'
ABC/G
$ echo "ABC(T)" | perl -pe 's|ABC\(T\)|ABC/G|'
ABC/G