Me gustaría usar el comando sed para eliminar algunos guiones en una cadena (dentro de un archivo), es decir, el archivo tiene una línea que dice:
TEXT=abcdef-lalala-someText-yahoo
Después de la ejecución de sed, esa línea debería verse así:
TEXT=abcdeflalalasomeTextyahoo
Gracias por adelantado
Respuestas:
Según su comentario adicional a la respuesta de Nifle , quizás esto se parezca más a lo que está buscando. Solo actuará en líneas que contengan
TEXT=
seguidos de 4 '-' segmentos de texto delimitados.Usando GNU sed (tratando "TEXT" y "yahoo" como constante)
O, utilizando GNU sed (tratando todo el texto después de "=" como deseable)
O, para la portabilidad posix (tratando todo el texto después de "=" como deseable):
fuente
Aqui tienes:
fuente
sed -i 's/-//g' filename
es lo que realmente lo cambiaría en el archivo, sin embargo, eliminaría TODOS-
en el archivo, lo que podría no ser lo que desea.Aquí están mis dos centavos ... Puedes agregar la coincidencia (TEXT =) antes del comando sustituto ... Así:
Los resultados serán:
El comando sustituto solo se ejecutará cuando coincida con la primera cláusula, en este caso, coincida con "TEXT =". Creo que el comando será más simple y más elegante.
fuente