hur man läser fil rad för rad i Bash script
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.
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.
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.
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.
Kör kommandot ” cat ” med företaget.txt-fil för att visa det ursprungliga innehållet i företaget.txt-filen.
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.
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”.
$ 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.
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!