Někdy při práci na příkazovém řádku v Linuxu může nastat situace, kdy budete muset sloučit řádky více souborů, abyste vytvořili smysluplnější/užitečnější data. No, budete rádi, když víte, že existuje nástroj příkazového řádku paste který to dělá za vás. V tomto tutoriálu probereme základy tohoto příkazu a také hlavní funkce, které nabízí, pomocí snadno srozumitelných příkladů.
Ale než to uděláme, stojí za zmínku, že všechny příklady uvedené v tomto článku byly testovány na Ubuntu 16.04 LTS.
Příkaz vložení pro Linux
Jak již bylo zmíněno výše, příkaz paste sloučí řádky souborů. Zde je syntaxe nástroje:
paste [OPTION]... [FILE]...
A takhle to vysvětluje mág pasty:
Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs,
to standard output. With no FILE, or when FILE is -, read standard input.
Následující příklady ve stylu otázek a odpovědí by vám měly poskytnout lepší představu o tom, jak vložit funguje.
O1. Jak spojit řádky více souborů pomocí příkazu vložit?
Předpokládejme, že máme tři soubory – soubor1.txt, soubor2.txt a soubor3.txt – s následujícím obsahem:
A úkolem je sloučit řádky těchto souborů tak, aby každý řádek konečného výstupu obsahoval index, zemi a kontinent, pak to můžete udělat pomocí paste následujícím způsobem:
paste file1.txt file2.txt file3.txt
O2. Jak použít oddělovače při použití pasty?
Někdy může existovat požadavek přidat oddělovací znak mezi položky každého výsledného řádku. To lze provést pomocí -d možnost příkazového řádku, která vyžaduje, abyste zadali oddělovací znak, který chcete použít.
Chcete-li například použít dvojtečku (:) jako oddělovací znak, použijte příkaz paste následujícím způsobem:
paste -d : file1.txt file2.txt file3.txt
Zde je výstup tohoto příkazu vytvořený v našem systému:
O3. Jak změnit způsob slučování řádků?
Ve výchozím nastavení příkaz paste sloučí řádky tak, že položky v prvním sloupci patří do prvního souboru, položky ve druhém sloupci jsou pro druhý soubor a tak dále a tak dále. Pokud však chcete, můžete to změnit tak, aby operace sloučení probíhala po řádcích.
To můžete provést pomocí -s možnost příkazového řádku.
paste -s file1.txt file2.txt file3.txt
Následuje výstup:
4. čtvrtletí. Jak používat více oddělovačů?
Ano, můžete použít i více oddělovačů. Chcete-li například použít obě :a |, můžete to udělat následujícím způsobem:
paste -d ':|' file1.txt file2.txt file3.txt
Následuje výstup:
O5. Jak zajistit, aby sloučené linky byly ukončeny NUL?
Ve výchozím nastavení končí řádky sloučené vložením novým řádkem. Pokud však chcete, můžete je ukončit jako NUL, což můžete udělat pomocí -z možnost.
paste -z file1.txt file2.txt file3.txt
Závěr
Jak většina z vás bude souhlasit, vložit příkaz není těžké pochopit a používat. Může nabízet omezenou sadu možností příkazového řádku, ale nástroj dělá to, co tvrdí. Možná to nebudete vyžadovat denně, ale vložte může být v některých scénářích spořičem v reálném čase. Pro případ, že byste potřebovali, zde je manuálová stránka nástroje.