GNU/Linux >> Tutoriales Linux >  >> Linux

Eliminar un carácter específico usando awk o sed

Usa la sustitución de sed:sed 's/"//g'

s/X/Y/ reemplaza X con Y.

g significa que se deben reemplazar todas las apariciones, no solo la primera.


Usando solo un wk que podrías hacer (también acorté algunas de tus tuberías):

strings -a libAddressDoctor5.so | awk '/EngineVersion/ { if(NR==2) { gsub("\"",""); print $2 } }'

No puedo verificarlo por usted porque no sé su entrada exacta, pero lo siguiente funciona:

echo "Blah EngineVersion=\"123\"" | awk '/EngineVersion/ { gsub("\"",""); print $2 }'

Consulte también esta pregunta sobre la eliminación de comillas simples.


tr puede ser más conciso para eliminar caracteres que sed o awk , especialmente cuando desea eliminar varios caracteres diferentes de una cadena.

Eliminando comillas dobles:

echo '"Hi"' | tr -d \"
# Prints Hi without quotes

Eliminación de diferentes tipos de corchetes:

echo '[{Hi}]' | tr -d {}[]
# Prints Hi without brackets

-d significa "eliminar".


Linux
  1. ¿Reemplazar una palabra o número en una oración menor a 8 usando Awk o Sed?

  2. ¿Envolver el primer carácter de una cadena usando Sed?

  3. ¿Expulsar/Quitar de forma segura Vs Desmontar?

  4. sed unir líneas

  5. sed - cómo hacer grupos de expresiones regulares usando sed

Cómo quitar líneas de un archivo usando el comando Sed

Cómo eliminar líneas vacías en archivos usando Grep, Sed y Awk

Usando sed para eliminar un bloque de texto

Cómo eliminar caracteres que no son ascii usando sed

Eliminar líneas vacías usando sed

¿Cómo cambiar un archivo en el lugar usando awk? (como con sed -i)