Základná syntax riadku počas čítania
Nasledujúca syntax sa používa pre shell bash na čítanie súboru pomocou cyklu while:
kým čítať -rriadok;
urobiť
zahodil '$ riadok';
hotový <input.file
Voľba „-r“ vo vyššie uvedenej syntaxi odovzdaná príkazu na čítanie, ktorá zabraňuje interpretácii únikov spätných lomiek. Voľba „input_file“ predstavuje názov vášho súboru, ku ktorému chcete získať prístup pomocou príkazu „read“.
Interný oddeľovač polí skrátený ako IFS je možné použiť predtým, ako je príkaz na čítanie nastavený na nulový reťazec, ktorý zabraňuje orezaniu úvodných alebo koncových medzier.
kým IFS=čítať -rriadok;
urobiť
zahodil $ riadok;
hotový <input.file
Otvorte terminál pomocou skratky Ctrl + Alt + t a potom na ňom spustite nasledujúce príkazy.
Príklad č. 1: Čítanie súborov po riadkoch
Zoberme si príklad, v ktorom predpokladajme, že máme súbor s názvom OS.txt, ktorý obsahuje názvy všetkých dôležitých distribúcií Linuxu. Ak chcete čítať súbor bez použitia príkazu „mačka“, na tento účel môžete na vykonanie konkrétnej úlohy vykonať nasledujúci príkaz. Použijeme cyklus while, ktorý načíta každý riadok zo súboru OS.txt a uloží obsah v každom kroku do premennej $ line, ktorú môžete neskôr zobraziť.
Prilepte nasledujúce názvy distribúcií Linuxu do súboru OS.txt
CentOS
Ubuntu
Debian
LinuxMint $kým čítaťriadok;
urobiť
zahodil $ riadok;
hotový <OS.txt
Z vyššie uvedeného príkazu dostanete v okne terminálu nasledujúcu odpoveď:
Príklad č. 2: Čítanie súboru pomocou skriptu bash
Vytvorte súbor bash a potom do tohto súboru pridajte nižšie uvedený kód, aby ste si mohli prečítať obsah súboru. Predchádzajúci textový súbor môžete uložiť do novej premennej $ filename a na udržanie hodnoty každého riadka sa používa premenná $ n. Teraz pomocou slučky while prečítame každý riadok zo súboru s konkrétnym číslom riadka.
#!/bin/bashnázov súboru='OS.txt'
n=1
kým čítaťriadok;
urobiť
# na prečítanie každého riadku
zahodil „Distribučná linka OS č.$ n:$ riadok'
n= $((n+1))
hotový < $ názov súboru
Uložte súbor s názvom OSinfo.sh a na terminál zadajte nasledujúci príkaz na spustenie vyššie uvedeného bash skriptu.
$bashOSinfo.sh
Teraz spustite príkaz cat a zobrazte pôvodný obsah súboru.
$katOS.txt
Alternatívna metóda na čítanie súborov
Použitie odovzdávania názvu súboru z príkazu
V súbore bash musíte pridať nasledujúci skript kódu. V tomto skripte musíme ako argument brať názov súboru. Po prvé, hodnota argumentu je prečítaná premennou $ 1, ktorá má názov súboru na čítanie. Skontroluje, či názov súboru existuje na určenom mieste, a potom pomocou slučky while prečíta súbor po riadkoch podobne ako v predchádzajúcom prípade.
#!/bin/bashnázov súboru=1 dolár
kým čítaťriadok;urobiť
# prečítanie každého riadku
zahodil $ riadok
hotový < $ súbor.TXT
Uložte vyššie uvedený skript s názvom „Readline.sh“ a spustením nasledujúceho príkazu na termináli spustíte vyššie uvedený skript:
Vo vyššie uvedenom výstupe uvidíte, že súbor „OSinfo.txt“ prechádza ako argument a obsah súboru „OSinfo.txt“ sa zobrazí po odstránení medzier. Pôvodný obsah súboru môžete zobraziť spustením súboru „cat OSinfo.txt“.
Záver
V tomto článku sme diskutovali o tom, ako čítať riadky pomocou slučky while v programovaní bash. Implementovali sme rôzne metódy pomocou bash skriptu alebo môžete jednoducho použiť textový súbor na čítanie úlohy súboru po riadkoch. Ak máte záujem dozvedieť sa viac príkladov, potom pomocou vyššie uvedenej syntaxe môžete vykonať aj vo svojom systéme. Dúfam, že sa vám tento návod páčil a bude pre vás jedinečný. Dajte nám vedieť v prípade akejkoľvek chyby.