shell – agregar texto con eco sin nueva línea

Pregunta:

Quiero agregar texto al archivo como echo "abc" >>file.txt .

Pero esto agrega abc después de la nueva línea

¿Cómo puedo agregar abc al final del archivo con echo sin una nueva línea?

Respuesta:

Suponiendo que el archivo aún no termina en una nueva línea y simplemente desea agregar más texto sin agregar uno, puede usar el argumento -n , por ejemplo

echo -n "some text here" >> file.txt

Sin embargo, algunos sistemas UNIX no ofrecen esta opción; si ese es el caso, puede usar printf , por ejemplo

printf %s "some text here" >> file.txt

(el argumento %s inicial %s para protegerse contra el texto adicional que tiene % caracteres de formato)

Desde man echo (en macOS High Sierra):

-norte

No imprima el carácter de nueva línea final. Esto también se puede lograr agregando '\c' al final de la cadena, como lo hacen los sistemas compatibles con iBCS2. Tenga en cuenta que esta opción, así como el efecto de '\c' están definidos por implementación en IEEE Std 1003.1-2001 ("POSIX.1") según enmendado por Cor. 1-2002. Se recomienda encarecidamente a las aplicaciones que tengan como objetivo la máxima portabilidad que utilicen printf(1) para suprimir el carácter de nueva línea.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım