es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eres un traductor de español que traduce documentos de tecnología de la información. Traduce lo siguiente al español. Reemplaza una coincidencia exacta por un doble guión bajo con una cadena utilizando sed. “Sed is a powerful command-line tool for text processing. It allows you to search for, modify, and replace text in files using regular expressions. With sed, you can automate many text editing tasks, such as finding and replacing an exact match for a double underscore with a string.” “sed es una potente herramienta de línea de comandos para procesar texto. Te permite buscar, modificar y reemplazar texto en archivos usando expresiones regulares. Con sed, puedes automatizar muchas tareas de edición de texto, como encontrar y reemplazar una coincidencia exacta por un doble guión bajo con una cadena.”

Estoy intentando reemplazar una coincidencia exacta de un doble guión bajo por una cadena.

sed -i 's/\<__\>/.abc.def__/g' archivo

Pero esto deja el archivo sin cambios. Agradeceré cualquier pista.
Seguimiento de https://stackoverflow.com/questions/16196185/sed-match-exact

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que el comando sed que ha proporcionado debería funcionar para reemplazar una coincidencia exacta de doble guión bajo con la cadena “.abc.def__” en el archivo especificado por file. Sin embargo, mencionó que el archivo permanece sin cambios después de ejecutar el comando.

    Aquí hay algunas cosas que puede verificar para ayudar a diagnosticar el problema:

    • Verifique que el patrón __ existe en el archivo que está intentando modificar. Puede hacer esto ejecutando un comando como grep '__' file para ver si hay alguna coincidencia.
    • Verifique que el comando sed esté modificando realmente el archivo ejecutándolo con la bandera -n para suprimir la salida y la bandera -e para imprimir el espacio del patrón después de cada sustitución: sed -n -e 's/\<__\>/.abc.def__/gp' file. Esto debería imprimir cada línea del archivo junto con cualquier sustitución que se realice. Si no ve ninguna salida, entonces el comando sed no está encontrando ninguna coincidencia en el archivo.
    • Verifique que esté usando la ruta de archivo correcta y que tenga permisos para modificar el archivo.
    • Si ninguna de las sugerencias anteriores funciona, intente desglosar el comando sed en partes más pequeñas para ver dónde podría estar el problema. Por ejemplo, intente ejecutar solo sed -e 's/__/.abc.def__/g' file para ver si modifica el archivo como se espera.

    Con suerte, una de estas sugerencias ayudará a identificar el problema y le permitirá hacer las sustituciones deseadas en su archivo.

Comments are closed.