Cuando yo echo $something >> file.txt, una nueva línea se agregará al archivo.
¿Qué sucede si deseo agregar sin una nueva línea?
bash
redirection
onemach
fuente
fuente

echo $something, su comportamiento depende de laIFSvariable, y podría terminar con un carácter que desaparece. Puede intentar lo siguiente:var="hello world"; echo $var(dos espacios entre hola y mundo) ovar="hello world"; IFS='l'; echo $varovar="-e hello \\n world"; echo $var. Para resolver eso, ponga comillas dobles alrededor de la variable como esta:,echo "$var"o useprintf.Respuestas:
Para eso
echo -nes eso .fuente
cat? (por ejemplo, cuando tiene un archivo ensomething.txtlugar de una variable$something)printfEs muy flexible y más portátil queecho. Al igual que las implementaciones de C / Perl / etc., si no termina la cadena de formato con\nninguna línea nueva se imprime:fuente
Si está utilizando la salida del comando, puede usar xargs en combinación con echo
fuente
trEs otra alternativa.Si está utilizando
echocomo entrada, puede escapar de cuáltr -d '\n'.Esta técnica también funciona al canalizar la salida de otros comandos (con una sola línea de salida). Además, si no sabe si los archivos tienen terminaciones de línea UNIX o DOS, puede usarlos
tr -d '\n\r'.Aquí hay algunas pruebas que muestran que esto funciona.
Newline incluido:
Línea nueva UNIX:
Estilo DOS:
Probado con BSD
try GNUtr.fuente