Jak číst soubor řádek po řádku v bash skriptu

How Read File Line Line Bash Script

Jak byste napsali skript Bash, který dokáže zpracovat textový soubor po jednom řádku. Nejprve potřebujete syntaxi a přístup ke čtení souboru řádek po řádku. Metody tohoto přístupu jsou uvedeny v tomto kurzu.

Předpokládejme, že máte soubor s názvem company.txt který obsahuje názvy společností. Tento soubor obsahuje následující obsah.



Company.txt
Samsung
Nokia
LG
Symfonie
iPhone

Příklad -1: Čtení obsahu souboru z příkazového řádku

Předpokládejme, že si chcete přečíst soubor, company.txt , řádek po řádku z příkazového řádku bez 'kočka' příkaz. K provedení úlohy spusťte následující příkaz. zatímco smyčka přečte každý řádek ze souboru company.txt v každém kroku a uložte obsah řádku do $ řádek proměnná, která bude vytištěna později.



$zatímco čístčára;dělat vyhodil $ řádek;Hotovo <company.txt



Příklad -2: Čtení obsahu souboru pomocí skriptu

Vytvořte soubor bash a přidejte následující kód ke čtení obsahu konkrétního souboru. Zde je existující název souboru uložen v souboru $ název_souboru variabilní a $ n proměnná slouží k uchování hodnoty čísla řádku tohoto souboru. Stejně jako předchozí příklad, zatímco smyčka se používá ke čtení tohoto souboru s číslem řádku.

#!/bin/bash
název souboru='company.txt'
n=1
zatímco čístčára;dělat
# čtení každého řádku
vyhodil „Řádek č.$ n:$ řádek'
n= $((n+1))
Hotovo < $ název_souboru

Ke spuštění skriptu spusťte následující příkaz.

$bashreadfile1.sh

Běh 'kočka' příkaz pomocí company.txt soubor pro zobrazení původního obsahu company.txt soubor.



$ cat company.txt

Příklad -3: Předání názvu souboru z příkazového řádku a čtení souboru

Vytvořte soubor bash a přidejte následující skript. Tento skript převezme název souboru z argumentu příkazového řádku. Hodnota prvního argumentu je přečtena proměnnou $ 1, která bude obsahovat název souboru pro čtení. Pokud soubor v aktuálním umístění existuje, pak zatímco smyčka bude číst soubor řádek po řádku jako předchozí příklad a vytiskne obsah souboru.

#!/bin/bash
název souboru=1 $
zatímco čístčára;dělat
# čtení každého řádku
vyhodil $ řádek
Hotovo < $ název_souboru

Spusťte výše uvedený skript pomocí employee.txt soubor jako hodnota argumentu. Výstup zobrazí obsah souboru employee.txt soubor odstraněním místa navíc. Můžete zobrazit původní obsah employee.txt soubor pomocí 'kočka' příkaz.

$ bash readfile2.txt employee.txt
$ cat employee.txt

Příklad - 4: Čtení souboru vynecháním zpětného lomítka

Pokud chcete přečíst každý řádek souboru vynecháním zpětného lomítka, musíte použít '-R' možnost s příkazem čtení v zatímco smyčka.

#!/bin/bash
zatímco číst -rčára;dělat
# Čtení každého řádku
vyhodil $ řádek
Hotovo <company2.txt

Vytvořte soubor s názvem company2.txt se zpětným lomítkem a spuštěním následujícího příkazu spustíte skript. Výstup zobrazí obsah souboru bez zpětného lomítka.

$bashreadfile3.sh

Soubor budete muset přečíst pro mnoho programovacích účelů. Například můžete snadno vyhledávat nebo porovnávat jakýkoli konkrétní obsah z libovolného souboru čtením každého řádku samostatně. Je to tedy zásadní úkol pro jakékoli programování. V tomto kurzu je ukázáno několik jednoduchých příkladů čtení souboru v bash skriptu. Ty vám pomohou získat představu o čtení obsahu souboru řádek po řádku pomocí while loop v bash skriptu a efektivněji použít ve vašem skriptu. Pro více informací sledujte video !