2012-09-06 9 views
10

redirección a un archivo es muy útil para añadir una cadena como una nueva línea en un archivo, comoCómo agregar cadenas a la misma línea en lugar de crear una nueva línea?

echo "foo" >> file.txt 
echo "bar" >> file.txt 

Resultado:

foo 
bar 

Pero es también posible redireccionar una cadena a la misma línea en el archivo?

Ejemplo:

echo "foo" <redirection-command-for-same-line> file.txt 
echo "bar" <redirection-command-for-same-line> file.txt 

Resultado:

foobar 

Respuesta

32

La nueva línea se añade por echo, no por la redirección. Sólo tiene que pasar el interruptor -n a echo para suprimirlo:

echo -n "foo" >> file.txt 
echo -n "bar" >> file.txt 

-n No salida del salto de línea final

+0

Esto funcionó bien. Aunque hay que tener cuidado de que no haya 'líneas vacías' al final de un archivo. –

1

Una forma alternativa de eco de los resultados a una línea sería la de asignar simplemente los resultados a variables. Ejemplo:

j=$(echo foo) 
i=$(echo bar) 
echo $j$i 
foobar 
echo $i $j 
bar foo 

Esto es particularmente útil cuando se tiene funciones más complejas, tal vez un 'awk' declaración compleja para sacar una célula particular en una fila, y luego sincronizarlo con otro conjunto.

Cuestiones relacionadas