hoe bestand regel voor regel te lezen in Bash script
Hoe zou je een Bash script schrijven dat een tekstbestand regel voor regel kan verwerken. Eerst heb je een syntaxis en aanpak nodig om het bestand regel voor regel te lezen. De methoden voor deze aanpak worden getoond in deze tutorial.
stel dat u een bestand met de naam bedrijf hebt.txt die de inhoud van de bedrijfsnamen. Dit bestand bevat de volgende inhoud.
Samsung
Nokia
LG
Symphony
iphone
voorbeeld -1: bestandsinhoud lezen vanaf de opdrachtregel
stel dat u het bestand wilt lezen, bedrijf.txt, regel voor regel vanaf de commandoregel zonder ‘ cat ‘ Commando. Voer de volgende opdracht uit om de taak uit te voeren. terwijl loop zal elke regel van het bestand bedrijf te lezen.txt in elke stap en sla de inhoud van de regel op in $line variabele die later zal worden afgedrukt.
voorbeeld -2: bestandsinhoud lezen met behulp van script
Maak een bash-bestand aan en voeg de volgende code toe om de inhoud van een bepaald bestand te lezen. Hier wordt een bestaande bestandsnaam opgeslagen in $ filename variabele en $ n variabele wordt gebruikt om de waarde van het regelnummer van dat bestand te behouden. Net als het vorige voorbeeld wordt while loop gebruikt om dit bestand met regelnummer te lezen.
filename = ” company.txt “
N = 1
terwijl gelezen regel; do
# lezen elke regel
echo ” regel nr., $n: $line ”
N=$((n+1))
done < $filename
voer het volgende commando uit om het script uit te voeren.
voer het commando ‘ cat ‘ uit met company.txt-bestand om de oorspronkelijke inhoud van het bedrijf weer te geven.txt-bestand.
voorbeeld -3: het doorgeven van de bestandsnaam van de opdrachtregel en het lezen van het bestand
Maak een bash-bestand aan en voeg het volgende script toe., Dit script neemt de bestandsnaam van het commando regel argument. De eerste argumentwaarde wordt gelezen door de variabele $1 die de bestandsnaam zal bevatten om te lezen. Als het bestand op de huidige locatie bestaat, zal while loop het bestand regel voor regel lezen zoals het vorige voorbeeld en de inhoud van het bestand afdrukken.
bestandsnaam = $1
tijdens het lezen van regel; doe
# Het lezen van elke regel
echo $ regel
done < $bestandsnaam
voer het bovenstaande script uit met werknemer.txt-bestand als argumentwaarde. De output zal de inhoud van de werknemer te tonen.,txt-bestand door het verwijderen van extra ruimte. U kunt de originele inhoud van de werknemer te tonen.txt-bestand met het commando ‘cat’.
$ cat werknemer.txt
Voorbeeld – 4: Bestand Lezen door backslash escape weg te laten
Als u elke regel van een bestand wilt lezen door backslash escape weg te laten, moet u de optie ‘-r’ gebruiken met leescommando in while loop.
tijdens de read-r-regel; doe
# Het lezen van elke regel
echo $ line
done < company2.txt
Maak een bestand aan met de naam company2.txt met backslash en voer het volgende commando uit om het script uit te voeren. De uitvoer toont de inhoud van het bestand zonder enige backslash.
u zult het bestand voor veel programmeerdoeleinden moeten lezen. Bijvoorbeeld, u kunt zoeken of overeenkomen met een bepaalde inhoud gemakkelijk uit elk bestand door het lezen van elke regel afzonderlijk., Dus, het is een essentiële taak voor elke programmering. Enkele eenvoudige voorbeelden van het lezen van bestand in bash script worden getoond in deze tutorial. Deze zullen u helpen om het idee van het lezen van de inhoud van het bestand regel voor regel met behulp van while loop in bash script te krijgen en toe te passen in uw script efficiënter. Voor meer informatie bekijk de video!