A fájlok soronkénti olvasása a Bash szkriptben

How Read File Line Line Bash Script



Hogyan írna egy Bash -szkriptet, amely egy sorban képes feldolgozni egy szöveges fájlt. Először szintaxisra és megközelítésre van szüksége a fájl soronkénti olvasásához. Ennek a módszernek a módszereit ebben az oktatóanyagban mutatjuk be.

Tegyük fel, hogy van egy nevű fájlja company.txt melyik tartalmat tartalmazzák a cégek. Ez a fájl a következő tartalmat tartalmazza.







Company.txt
Samsung
Nokia
LG
Szimfónia
iphone

Példa -1: Fájltartalom olvasása parancssorból

Tegyük fel, hogy el akarja olvasni a fájlt, company.txt , sorról sorra a parancssorból anélkül 'macska' parancs. Futtassa a következő parancsot a feladat végrehajtásához. míg A loop a fájl minden sorát kiolvassa company.txt minden lépésben, és tárolja a sor tartalmát $ sor változó, amelyet később nyomtatunk ki.



$míg olvasvonal;tedd kidobta $ sor;Kész <company.txt



-2. Példa: Fájltartalom olvasása szkript használatával

Hozzon létre egy bash fájlt, és adja hozzá a következő kódot egy adott fájl tartalmának olvasásához. Itt egy meglévő fájlnév tárolódik $ fájlnév változó és $ n változó az adott fájl sorszámának megőrzésére szolgál. Az előző példához hasonlóan míg ciklus ezt a fájlt sorszámmal olvassa.





#!/bin/bash
fájl név='company.txt'
n=1
míg olvasvonal;tedd
# minden sor olvasása
kidobta 'Sor.$ n:$ sor'
n= $((n+1))
Kész < $ fájlnév

Futtassa a következő parancsot a szkript végrehajtásához.

$bashreadfile1.sh

Fuss 'macska' paranccsal company.txt fájlt az eredeti tartalom megjelenítéséhez company.txt fájlt.



$ cat company.txt

Példa -3: Fájlnév átadása a parancssorból és a fájl beolvasása

Hozzon létre egy bash fájlt, és adja hozzá a következő parancsfájlt. Ez a szkript a fájlnevet a parancssori argumentumból veszi. Az első argumentum értékét a $ 1 változó olvassa, amely tartalmazza az olvasáshoz szükséges fájlnevet. Ha a fájl létezik az aktuális helyen, akkor míg A loop az előző példához hasonlóan sorról sorra olvassa be a fájlt, és kinyomtatja a fájl tartalmát.

#!/bin/bash
fájl név=$ 1
míg olvasvonal;tedd
# minden sor olvasása
kidobta $ sor
Kész < $ fájlnév

Futtassa a fenti parancsfájlt alkalmazott.txt fájl argumentumértékként. A kimenet megmutatja a tartalmát alkalmazott.txt fájl eltávolításával. Megmutathatja a (z) eredeti tartalmát alkalmazott.txt fájl használatával 'macska' parancs.

$ bash readfile2.txt worker.txt
$ cat alkalmazott.txt

Példa - 4: Fájl olvasása a fordított perjel elhagyásával

Ha a fájl minden egyes sorát úgy akarja elolvasni, hogy nem használja a fordított perjelet, akkor használja „-R” opció olvasható paranccsal míg hurok.

#!/bin/bash
míg olvas -rvonal;tedd
# Minden sor olvasása
kidobta $ sor
Kész <társaság2.txt

Hozzon létre egy nevű fájlt társaság2.txt fordított perjellel, és futtassa a következő parancsot a szkript végrehajtásához. A kimenet fordított perjel nélkül mutatja a fájl tartalmát.

$bashreadfile3.sh

Sok programozási célból el kell olvasnia a fájlt. Például megkereshet vagy egyeztethet bármilyen tartalmat bármely fájlból, ha minden sort külön olvas. Tehát minden programozáshoz elengedhetetlen feladat. Ebben az oktatóanyagban néhány egyszerű példa található a fájlok bash szkriptben történő olvasására. Ezek segítenek abban, hogy ötletet kapjon a fájltartalom soronkénti olvasására a while loop in bash script használatával, és hatékonyabban alkalmazza a szkriptben. További információkért nézze meg a videó !