GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere il contenuto di più file in un unico file

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.


Linux
  1. Vim:come aprire più file in schede diverse?

  2. Come unire più righe di nomi di file in una con delimitatore personalizzato?

  3. Come dividere un file di testo in più file *.txt?

  4. Come gzippare più file in un unico file gz?

  5. Come posso modificare più file in VIM?

Come dividere un file di archivio di grandi dimensioni in più file di piccole dimensioni utilizzando il comando Dividi in Linux

Come unire più righe in una in un file in Linux

Come unire più file PDF in un unico PDF in Linux

Come unire/unire più file audio in uno in Linux

Come fare eco in un file

Come vedere i contenuti dei file Hive orc in Linux