GNU/Linux >> Znalost Linux >  >> Linux

Jak připojit obsah více souborů do jednoho souboru

Potřebujete cat (zkratka pro concatenate) příkaz s přesměrováním shellu (> ) do výstupního souboru

cat 1.txt 2.txt 3.txt > 0.txt

Další možností pro ty z vás, kteří stále narážejí na tento příspěvek jako já, je použít find -exec :

find . -type f -name '*.txt' -exec cat {} + >> output.file

V mém případě jsem potřeboval robustnější možnost, která by procházela více podadresáři, takže jsem se rozhodl použít find . Rozebrat to:

find .

Podívejte se do aktuálního pracovního adresáře.

-type f

Zajímají vás pouze soubory, nikoli adresáře atd.

-name '*.txt'

Zkrácení sady výsledků podle názvu

-exec cat {} +

Pro každý výsledek proveďte příkaz cat. "+" znamená pouze 1 výskyt cat je vytvořeno (thx @gniourf_gniourf)

 >> output.file

Jak je vysvětleno v jiných odpovědích, připojte obsah vedený pomocí cat na konec výstupního souboru.


Linux
  1. Zřetězit konkrétní soubory do jednoho jediného souboru?

  2. Jak připojit více řádků k souboru?

  3. Vim:Jak otevřít více souborů na různých kartách?

  1. Jak prohledávat obsah více souborů pdf?

  2. Jak připojit výstup do souboru?

  3. Jak gzipovat všechny soubory ve všech podadresářích do jednoho komprimovaného souboru v bash

  1. Jak rozdělit jeden soubor do více souborů na základě řádků

  2. Jak rozdělit jeden textový soubor do více souborů *.txt?

  3. Jak mohu upravit více souborů ve VIM?