Chcete-li spojit dva nebo více textových souborů na příkazovém řádku Linuxu, můžete použít cat příkaz. Kočka (zkratka pro „concatenate ”) command je jedním z nejběžněji používaných příkazů v Linuxu a dalších operačních systémech podobných UNIXu, který se používá ke zřetězení souborů a tisku na standardní výstup.
Neslouží pouze k prohlížení souborů, ale lze jej také použít k vytváření souborů společně se znakem přesměrování.
Zobrazení obsahu souboru v systému Linux
Chcete-li zobrazit obsah souboru bez jeho otevření, můžete použít příkaz cat jak je uvedeno (nezapomeňte nahradit domains.txt
a domains2.txt
s názvy souborů, které chcete zkombinovat):
[abhi@linuxshelltips:~]$ cat domains.txt tecmint.com cyberciti.biz [abhi@linuxshelltips:~]$ cat domains2.txt linuxshelltips.com google.com
Spojit obsah dvou souborů v Linuxu
Chcete-li spojit nebo zkombinovat dva soubory a zobrazit je jako jeden na terminálu, spusťte následující příkaz:
[abhi@linuxshelltips:~]$ cat domains.txt domains2.txt tecmint.com cyberciti.biz linuxshelltips.com google.com
Můžete také spojit tři nebo více souborů, například:
[abhi@linuxshelltips:~]$ cat file1 file2 file3 OR [abhi@linuxshelltips:~]$ cat file1 file2 file3 file4
Po spojení souborů můžete výstup uložit do jednoho souboru pomocí přesměrovacího znaku, jako je tento:
[abhi@linuxshelltips:~]$ cat domains.txt domains2.txt > domains_all.txt [abhi@linuxshelltips:~]$ cat domains_all.txt
Také můžete spojit dva nebo více souborů a připojit (přidat) jejich výstup k existujícímu souboru. Například:
[abhi@linuxshelltips:~]$ cat file1 file2 >> domains_all.txt
Sloučit obsah dvou souborů pomocí příkazu Sed
Případně můžete také použít populární sed
(editor streamerů) ke spojení nebo sloučení obsahu dvou nebo více souborů na příkazovém řádku pomocí jeho r
flag, který dává pokyn sed
pro čtení souboru poskytnutého jako argument. Pokud existuje mnoho souborů, přečte je všechny a zobrazí jejich obsah jako kombinovaný výstup.
[abhi@linuxshelltips:~]$ sed r domains.txt domains2.txt [abhi@linuxshelltips:~]$ sed r domains.txt domains2.txt > sed_out.txt [abhi@linuxshelltips:~]$ cat sed_out.txt
Máte-li jakékoli další otázky k tomuto tématu, neváhejte požádat o pomoc v sekci komentářů.