1. Báza znalostí
  2. Cloud a servery
  3. Nástroje
  4. Nástroje na prácu s textovými súbormi v linuxovom príkazom riadku
  1. Báza znalostí
  2. Cloud a servery
  3. Virtuálny server (VPS)
  4. Nástroje na prácu s textovými súbormi v linuxovom príkazom riadku

Nástroje na prácu s textovými súbormi v linuxovom príkazom riadku

Profesionálne nástroje Linux ponúka aj v oblasti práce s obyčajnými textovými súbormi v príkazovom riadku. Ide o nástroje prevažne z balíka GNU Coreutils, ktoré sú bežne predinštalované na dnes už prakticky všetkých linuxových distribúciách. Od zobrazenia obsahu súboru až po jeho úpravu, na výber sú časom overené programy, ktoré spoločne zvládnu tie najnáročnejšie operácie.

Tip: Všetky príkazy si jednoducho otestujte s WebSupport VPS. Vyskúšajte prémiový virtuálny server zdarma ešte dnes.

Zobrazujeme obsah súboru

cat

Obsah obyčajného textového súboru môžeme nechať zobraziť priamo v príkazovom riadku pomocou nástroja cat:

cat nazov_suboru.txt

Spomedzi všetkých prepínačov príkazu cat stoja za zmienku -ETn. Prvý zobrazí znak dolára ($) na konci riadku, druhý namiesto tabulátora dva znaky (^I) a tretí čísluje riadky:

cat -ETn nazov_suboru.txt

head a tail

Môže sa stať, že súbor má stovky a tisícky riadkov a potrebujeme zobraziť iba istý počet riadkov zo začiatku (prvý riadok) alebo z konca (druhý riadok):

head -n 5 nazov_suboru.txt
tail -n 5 nazov_suboru.txt

Nástroj tail s prepínačom -f (follow) sa používa na automatické sledovanie zmien v obyčajných textových súboroch, do ktorých často pribúda obsah na konci. Typicky ide o záznamy (logy) programov ako webový server Nginx, pri ktorých potrebujeme vidieť vždy najnovšie pridaný posledný riadok:

tail -f zaznamy.log

Program tail s prepínačom -f sa ukončí až po stlačení klávesovej skratky Ctrl + C.

wc a tee

Niekedy iba potrebujeme rýchly štatistický údaj ako počet riadkov v súbore. Na to slúži nástroj wc, ktorý dokáže spočítať znaky (prepínač -m), slová (prepínač -w) a tiež riadky (prepínač -l):

wc -m nazov_suboru.txt
wc -w nazov_suboru.txt
wc -l nazov_suboru.txt

Výstup príkazov sa bežne vypisuje do príkazového riadku. Niekedy sa však hodiť výstup vypísať nie len do konzoly, ale tiež do súboru. Takéto viacnásobné presmerovanie zvláda nástroj tee:

wc -l nazov_suboru.txt | tee nazov_suboru-riadky.txt

Počet riadkov spolu s názvom súboru sa vypíše do konzoly, a tiež sa zapíše do súboru s názvom nazov_suboru-riadky.txt.

tr

Zameniť obsah obyčajného textového súboru dokáže nástroj tr. Takto zameníme malé písmená w a s za veľké a necháme tak vypísať názov WebSupport správne:

echo websupport | tr “ws” “WS”

Ak do nástroja tr potrebujeme dostať obsah zo súboru, urobíme to takto:

tr “ws” “WS” < nazov_soboru.txt

Nadbytočnú medzeru v názve odstránime prepínačom -d takto:

echo Web Support | tr -d “ “

V texte sa môžu vyskytovať viaceré nadbytočné medzery. Aby sme zabezpečili vždy iba jednu medzeru medzi slovami, použijeme prepínač -s takto:

echo Niekedy sa pritrafí  viacero     medzier vo vete. | tr -s “ “

sort a uniq

Usporiadať výstup dokáže príkaz sort. Je možné použiť ho aj s prepínačom -V takto:

sort -V nazov_suboru.txt

Niekedy sa môže hodiť vymazať riadky, ktoré sa opakujú, aby sme tak dostali obsah iba s unikátnymi riadkami. Zariadi to nástroj uniq takto:

uniq nazov_suboru.txt

Hľadáme v obsahu súboru

Na vyhľadávanie konkrétneho textu v jednom súbore alebo aj vo viacerých súboroch slúži nástroj grep. Základné použitie je jednoduché:

grep slovo nazov_suboru.txt

Takto grep zobrazí všetky riadky zo súboru nazov_suboru.txt, ktoré obsahujú textový reťazec slovo. Aby sme našli aj verzie s veľkým začiatočným písmenom, pridáme prepínač -i takto:

grep -i slovo nazov_suboru.txt

Neraz sa hodia aj čísla riadkov, ktoré grep vypísal. To dosiahneme pridaním prepínača -n takto:

grep -in slovo nazov_suboru.txt

Ak chcem vypísať riadky, ktoré naopak neobsahujú textový reťazec slovo, stačí pridať prepínač -v takto:

grep -inv slovo nazov_suboru.txt

Nástroj grep podporuje aj vyhľadávanie vo viacerých súboroch použitím zástupných znakov. Takto vyhľadáme textový reťazec slovo vo všetkých textových súboroch (*) v aktuálnom priečinku:

grep -in slovo *

Pridaním prepínača -r nástroj grep vyhľadáva nie len v aktuálnom priečinku, ale tiež vo všetkých ostatných podpriečinkoch:

grep -inr slovo

Pomocou nástroja grep môžeme napríklad v súboroch záznamov (log files) vyhľadať iba tie riadky, ktoré obsahujú chybovú hlášku, čo sa môže hodiť pri odhaľovaní chýb:

grep -inr error

Upravujeme obsah súboru

Doteraz sme obsah súborov upravovali bez zapísania úprav do samotného súboru. Teraz si predstavíme nástroje, ktoré do súboru aj zapisujú.

Nano

Často predinštalovaný textový editor na takmer všetkých linuxových distribúciách je nano. Použitie je veľmi jednoduché:

nano nazov_suboru.txt

Aby sme prostredie editora nano vylepšili, pridáme 3 nastavenia do súboru, z ktorého si nano načítava nastavenia:

nano ~/.nanorc

Pridáme tieto 3 riadky na zobrazenie čísel riadkov, zapojenie myšky a na zalamovanie riadkov:

set linenumbers
set mouse
set softwrap

Vložíme skopírovaný obsah, uložíme pomocou klávesovej skratky Ctrl + X a následne stlačením klávesu y a potvrdením klávesom Enter.

Niektoré ďalšie dôležité klávesové skratky textového editora nano sú:

  • Ctrl + 6 – od miesta, kde je práve umiestnený súbor šípkami označíte želaný počet znakov
  • Alt + 6 – kopíruje označený text alebo celý riadok, v ktorom sa práve nachádza kurzor
  • Ctrl + K – vystrihne označený text alebo celý riadok, v ktorom sa práve nachádza kurzor
  • Ctrl + U – vloží skopírovaný vystrihnutý text na miesto, kde je práve umiestnený kurzor
  • Alt + U – vráti poslednú činnosť
  • Alt + E – znova vykoná poslednú vrátenú činnosť
  • Ctrl + G – zobrazí všetky dostupné klávesové skratky aj s krátkym popisom

Micro

Vďaka bezplatnému, open source, multiplatformovému textovému editoru micro sa môžeme o trochu viac priblížiť prostrediu grafických textových editorov, ktoré spúšťame v grafickom prostredí operačných systémoch ako Windows, MacOS alebo Linux (napr. Ubuntu Desktop).

Do Linuxu nástroj micro nainštalujeme týmto príkazom:

curl https://getmic.ro | bash && sudo mv micro /usr/bin

…a súbor otvoríme takto:

micro nazov_suboru.txt

Fungujú klávesové skratky pre kopírovanie (Ctrl + C), vystrihnutie (Ctrl + X), vloženie (Ctrl + V), krok späť (Ctrl + Z) alebo krok vpred (Ctrl + Y). Zmeny uložíme pomocou klávesovej skratky Ctrl + S a micro ukončíme cez Ctrl + Q. Ostatné klávesové skratky zistíme pod stlačení Ctrl + E a po zadaní príkazu help defaultkeys. Text označíme podržaním klávesu Shift + šípky alebo myšou.

Samozrejmosťou je číslovanie a zalamovanie riadkov, či zvýrazňovanie syntaxe mnohých jazykov. Micro dokonca ponúka rozšírenia, ktoré pridávajú užitočné funkcie.

Zhrnutie

Zobrazenie, hľadanie a úprava – to sú základné operácie vykonávané v obyčajných textových súboroch. Ukázali sme si príklady použitia rôznych nástrojov linuxového príkazové riadku, ktoré spomínané operácie zvládnu spoľahlivo a rýchlo. Tieto nástroje sú celkom priamočiare a na základnej úrovni netrvá dlho osvojiť si ich.

Aktualizované 14. júna 2022

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať:

Spýtajte sa nás, radi poradíme
Po - Ne 8:00-22:00
Kontaktovať podporu