cómo leer datos de archivos secundarios y agregarlos al final del archivo principal usando linux

Tengo 100 archivos secundarios con la misma extensión como

thin1.txt
thin2.txt
thin3.txt
. . .
. . .
. . .

Cada archivo contiene un número como

0.99456 

Quiero agregar todos los números de estos archivos a un solo archivo principal. Tengo que trazarlos más tarde, así que quiero combinarlos todos.

Puedo leer cada archivo usando

for (( j=1 ; j<101 ; j++ ))  
do
d="$(cat thin$j.txt)"   # reading the line for the file
echo $d >singleFile.txt # it over write each time  :(
done

Espero que algún comando sed haga el resto después de que pueda leer la cadena del archivo.

¿Alguna sugerencia?

saludos cordiales,

Hamad

preguntado el 09 de marzo de 12 a las 13:03

2 Respuestas

Puede usar el >> para agregar una cadena a un archivo.

También puedes probar:

$ cat thin{1..101}.txt >singleFile.txt

respondido 09 mar '12, 14:03

Ya lo usé, pero se adjunta a la misma línea y no a la siguiente. hamad khan

¿Tiene su thinXX.txt contiene nueva línea? - kev

Intentaste cambiar > a >>. - kev

thinxx.txt contiene solo 1 número. cada archivo tiene un solo número que debe agregarse al archivo principal, para que luego pueda usarlo en la importación de Excel y el trazado de gráficos - hamad khan

@hamaskhan: En ese caso puedes hacerlo con un bucle como for f in thin{1..101}.txt ; do cat "$f" >> singleFile.txt ; printf '\n' >> singleFile.txt ; done - sorigal

Esto podría funcionar para ti:

sed -n '/^[0-9.]\+$/w results.txt' thin*.txt

respondido 09 mar '12, 14:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.