Ti serve lo cat
(abbreviazione di concatenate), con reindirizzamento della shell (>
) nel file di output
cat 1.txt 2.txt 3.txt > 0.txt
Un'altra opzione, per quelli di voi che si imbattono ancora in questo post come ho fatto io, è usare find -exec
:
find . -type f -name '*.txt' -exec cat {} + >> output.file
Nel mio caso, avevo bisogno di un'opzione più robusta che controllasse più sottodirectory, quindi ho scelto di utilizzare find
. Scomponendolo:
find .
Guarda all'interno della directory di lavoro corrente.
-type f
Interessato solo ai file, non alle directory, ecc.
-name '*.txt'
Riduci il set di risultati per nome
-exec cat {} +
Esegui il comando cat per ogni risultato. "+" significa solo 1 istanza di cat
viene generato (grazie @gniourf_gniourf)
>> output.file
Come spiegato in altre risposte, aggiungi i contenuti cat-ed alla fine di un file di output.