Anta att du har en fil med namnet company.txt vilket innehåll företagsnamnen. Denna fil innehåller följande innehåll.
Company.txt
Samsung
Nokia
LG
Symfoni
iphone
Exempel -1: Läsa filinnehåll från kommandoraden
Antag att du vill läsa filen, company.txt , rad för rad från kommandoraden utan 'katt' kommando. Kör följande kommando för att utföra uppgiften. medan loop kommer att läsa varje rad från filen company.txt i varje steg och lagra innehållet i raden i $ rad variabel som kommer att skrivas ut senare.
$medan läsalinje;do kastade ut $ rad;Gjort <company.txt
Exempel -2: Läsa filinnehåll med skript
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 $ filnamn variabel och $ n variabel används för att behålla värdet på radnumret för den filen. Som tidigare exempel, medan loop används för att läsa den här filen med radnummer.
#!/bin/bash
filnamn='company.txt'
n=1
medan läsalinje;do
# läser varje rad
kastade ut 'Rad nr.$ n:$ rad'
n= $((n+1))
Gjort < $ filnamn
Kör följande kommando för att köra skriptet.
$våldsamt slagreadfile1.shSpringa 'katt' kommando med company.txt fil för att visa det ursprungliga innehållet i company.txt fil.
$ cat company.txt
Exempel -3: Skicka filnamn från kommandoraden och läsa filen
Skapa en bash -fil och lägg till följande skript. Detta skript tar filnamnet från kommandoradsargumentet. Det 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/bashfilnamn=$ 1
medan läsalinje;do
# läser varje rad
kastade ut $ rad
Gjort < $ filnamn
Kör ovanstående skript med medarbetare.txt fil som argumentvärde. Utdata visar innehållet i medarbetare.txt fil genom att ta bort extra utrymme. Du kan visa originalinnehållet i medarbetare.txt fil med 'katt' kommando.
$ 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' alternativ med läskommando i medan slinga.
#!/bin/bashmedan läsa -rlinje;do
# Läser varje rad
kastade ut $ rad
Gjort <company2.txt
Skapa en fil med namnet company2.txt med backslash och kör följande kommando för att köra skriptet. Utmatningen visar filinnehållet utan bakåtstreck.
$våldsamt slagreadfile3.sh
Du måste läsa filen för många programmeringsändamål. Du kan till exempel enkelt söka efter eller matcha ett visst innehåll från vilken fil som helst genom att läsa varje rad separat. Så det är en viktig uppgift för all programmering. Några enkla exempel på att läsa fil i bash -skript visas i den här självstudien. Dessa hjälper dig att få uppfattningen att läsa filinnehåll rad för rad med loop i bash -skript och tillämpa i ditt skript mer effektivt. För mer information titta videon !