V závislosti na druhu práce, kterou děláte na příkazovém řádku v Linuxu, možná budete chtít nástroj, který může fungovat jako švýcarský armádní nůž pro rychlé úpravy textu. Naštěstí existuje nástroj nazvaný tr, který se pro tuto roli kvalifikuje. V tomto tutoriálu probereme základy tr pomocí několika snadno srozumitelných příkladů.
Ale než to uděláme, stojí za zmínku, že všechny příklady v tomto článku byly testovány na počítači Ubuntu 18.04 LTS a na Debianu 10.
Příkaz tr pro Linux
Zde je návod, jak to vysvětluje manuálová stránka nástroje:
Translate, squeeze, and/or delete characters from standard input, writing to standard output.
A následující je jeho syntaxe:
tr [OPTION]... SET1 [SET2]
zde je význam SET:
SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are:
\NNN character with octal value NNN (1 to 3 octal digits)
\\ backslash
\a audible BEL
\b backspace
\f form feed
\n new line
\r return
\t horizontal tab
\v vertical tab
Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout lepší představu o tom, jak příkaz tr funguje.
O1. Jak převést malá písmena na velká pomocí tr?
Předpokládejme, že chcete převést větu „linuxový tutorial on howtoforge“ na velká písmena, pak zde je návod, jak to udělat pomocí tr.
echo 'linux tutorial on howtoforge' | tr "[:lower:]" "[:upper:]"
Výše uvedený příkaz vytvořil v mém systému následující výstup:
LINUX TUTORIAL ON HOWTOFORGE
Q2. Jak odstranit přebytečné mezery pomocí tr?
Předpokládejme, že máte řádek jako:„HowtoForge je extrémně dobrý zdroj pro Linuxové tutoriály“. A požadavkem je odstranit přebytečné mezery z tohoto řádku.
Zde je návod, jak k tomu můžete použít tr:
echo 'HowtoForge is an extremely good resource for Linux tutorials' | tr -s '[:space:]'
Zde je výstup:
HowtoForge is an extremely good resource for Linux tutorials
Q3. Jak odstranit text pomocí tr?
Předpokládejme, že chcete odstranit pomlčky z následujícího řádku:"HowtoForge -- je -- -- extrémně -- dobrý -- zdroj -- pro -- Linux -- tutoriály." Zde je návod, jak to udělat pomocí tr.
echo 'HowtoForge -- is -- an -- extremely -- good -- resource -- for -- Linux -- tutorials' | tr -d '-'
Následuje výstup, který produkuje:
HowtoForge is an extremely good resource for Linux tutorials
4. Jak nahradit znaky pomocí tr?
Předpokládejme, že v předchozí části bylo požadavkem nahradit spojovníky, řekněme, tečkami. Zde je návod, jak to udělat pomocí tr.
echo 'HowtoForge -- is -- an -- extremely -- good -- resource -- for -- Linux -- tutorials' | tr '-' '.'
Následuje výstup, který vytvořil:
HowtoForge .. is .. an .. extremely .. good .. resource .. for .. Linux .. tutorials
Závěr
Takže můžete vidět, že příkaz tr je extrémně užitečný nástroj, pokud jde o úpravu textu. Zde jsme diskutovali o některých hlavních možnostech, ale nástroj nabízí také mnoho dalších možností příkazového řádku. Nejprve vyzkoušejte tyto, a jakmile budete mít dobrou představu o tom, o čem jsme zde diskutovali, můžete se o tr dozvědět více na jeho manuálové stránce.