hur man läser fil rad för rad i Bash script

0 Comments

hur skulle du skriva ett Bash script som kan bearbeta en textfil en rad i taget. Först behöver du en syntax och tillvägagångssätt för att läsa filen rad för rad. Metoderna för detta tillvägagångssätt visas i denna handledning.

Antag att du har en fil som heter company.txt vilket innehåll företagets namn. Den här filen innehåller följande innehåll.

företag.,Txt
Samsung
Nokia
LG
Symphony
iphone

exempel -1: läsa filinnehåll från kommandoraden

Antag att du vill läsa filen, företaget.txt, rad för rad från kommandoraden utan kommandot ”cat”. Kör följande kommando för att göra uppgiften. medan loop läser varje rad från filföretaget.txt i varje steg och lagra innehållet i raden i $ line variabel som kommer att skrivas ut senare.

$ medan läsrad; gör echo $line; klar< företag.,txt

exempel -2: läsa filinnehåll med script

skapa en bash-fil och Lägg till följande kod för att läsa innehållet i en viss fil. Här lagras ett befintligt filnamn i $ filename-variabeln och $ n-variabeln används för att hålla värdet på linjenumret för den filen. Liksom föregående exempel, medan loop används för att läsa den här filen med radnummer.

#!/ bin / bash
filename=”företag.txt ”
n=1
medan läsrad; gör
# läser varje rad
echo ” rad nr., $n: $line”
n=$((n+1))
klar < $filnamn

kör följande kommando för att utföra skriptet.

$ bash readfile1.sh

Kör kommandot ” cat ” med företaget.txt-fil för att visa det ursprungliga innehållet i företaget.txt-filen.

$ cat företag.txt

exempel -3: skicka filnamn från kommandoraden och läsa filen

skapa en bash-fil och Lägg till följande skript., Det här skriptet tar filnamnet från kommandoradsargumentet. Första argumentvärdet läses av variabeln $1 som innehåller filnamnet för läsning. Om filen finns på den aktuella platsen då medan loop kommer att läsa filen rad för rad som föregående exempel och skriva ut filinnehållet.

#!/ bin / bash
filename= $ 1
medan läsrad; gör
# läser varje rad
echo $line
klar < $filename

kör ovanstående skript med anställd.txt-fil som argument värde. Utgången kommer att visa innehållet i anställd.,txt-fil genom att ta bort extra utrymme. Du kan visa det ursprungliga innehållet i anställd.txt-fil med kommandot ”cat”.

$ bash readfile2.txt anställd.txt
$ cat anställd.txt

exempel – 4: läsa filen genom att utelämna backslash escape

om du vill läsa varje rad i en fil genom att utelämna backslash escape måste du använda ’-r’ alternativet med läskommando i medan loop.

#!,
# läsa varje rad
echo $line
gjort < company2.txt

skapa en fil som heter company2.txt med backslash och kör följande kommando för att köra skriptet. Utgången visar filinnehållet utan några backslash.

$ bash readfile3.sh

Du måste läsa filen för många programmeringsändamål. Du kan till exempel söka eller matcha ett visst innehåll enkelt från vilken fil som helst genom att läsa varje rad separat., Så det är en viktig uppgift för varje programmering. Några enkla exempel på att läsa filen i bash script visas i den här guiden. Dessa kommer att hjälpa dig att få idén att läsa fil innehåll linje för rad med medan loop i bash script och tillämpa i ditt skript mer effektivt. För mer information titta på videon!


Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *