C# Programozás - Fájlkezelés I.(fájlba írás)
Tartalomjegyzék:
- Fájl soronkénti szintaxis olvasása
- Fájlok olvasása soronként, példák
- Alternatív fájlolvasási módszerek
- A folyamat helyettesítése
- Itt egy karakterlánc használata
- A fájl leíró használata
- Következtetés
A Bash-szkriptek írásakor olykor olyan helyzetekbe kerül, amikor fájl-soronként el kell olvasnia. Lehet, hogy van például egy szöveges fájl, amely olyan adatokat tartalmaz, amelyeket a szkriptnek feldolgoznia kell.
Ebben az oktatóanyagban megbeszéljük, hogyan kell fájlt soronként elolvasni a Bash-ban.
Fájl soronkénti szintaxis olvasása
A fájl soronkénti olvasásához a következő általános szintaxis:
while IFS= read -r line do echo "$line" done < input_file
vagy azzal egyenértékű egysoros verzió:
while IFS= read -r line; do echo $line; done < input_file
Hogyan működik?
Az input fájl (
input_file
) annak a fájlnak a neve, amelyet nyitni szeretne az
read
parancs általi
read
. Az
read
parancs beolvassa a fájl soronként, minden sort hozzárendelve a sorváltozóhoz. Az összes sor feldolgozása után a rövid távú hurok megszűnik. A belső mező elválasztó (
IFS
) null karakterláncra van állítva, hogy megőrizze a kezdő és a hátsó szóközöket, ami az
read
parancs alapértelmezett viselkedése.
Fájlok olvasása soronként, példák
Vessen egy pillantást a következő példára. Tegyük fel, hogy van egy
distros.txt
nevű
distros.txt
amely a legnépszerűbb Linux disztribúciók és csomagkezelőik vesszővel elválasztva (
,
) elválasztott listáját tartalmazza:
Ubuntu, apt Debian, apt CentOS, yum Arch Linux, pacman Fedora, dnf
A fájl soronkénti olvasásához futtassa a következő kódot a terminálon:
while IFS= read -r line do echo "$line" done < distros.txt
A kód soronként elolvassa a fájlt, minden sort hozzárendel egy változóhoz, és visszhangja a változónak. Alapvetőség ugyanazt a kimenetet látná, mintha a fájl tartalmát a cat paranccsal jelenítené meg.
Mi van, ha csak az apt felhasználású disztribúciókat szeretné kinyomtatni? Ennek egyik módja az if utasítás használata és annak ellenőrzése, hogy a sor tartalmazza-e az apt alstringjét:
while IFS= read -r line do if]; then echo "$line" fi done < distros.txt
Ubuntu, apt Debian, apt
A fájl soronkénti olvasásakor több változót is átadhat az read parancsnak, amely az
IFS
alapján a sort mezőkre osztja. Az első mező az első változóhoz, a második a másodikhoz tartozik, és így tovább. Ha több mező van, mint változó, akkor a maradék mezőket az utolsó változóhoz rendelik.
A következő példában az IFS-t vesszőre (
,
) állítjuk
,
és két változót,
distro
és
pm
adunk az read parancshoz. Minden, a sor elejétől az első vesszőig, az első változóhoz lesz hozzárendelve (
distro
), a sor többi része pedig a második változóhoz lesz hozzárendelve (
pm
):
while IFS=, read -r distro pm do echo "$pm" is the package manager for "$distro" done < distros.txt
apt is the package manager for Ubuntu apt is the package manager for Debian yum is the package manager for CentOS pacman is the package manager for Arch Linux dnf is the package manager for Fedora
Alternatív fájlolvasási módszerek
A folyamat helyettesítése
A folyamathelyettesítés lehetővé teszi, hogy a parancsból származó outputot fájlnévként továbbítsa:
while IFS= read -r line do echo "$line" done < <(cat input_file)
Itt egy karakterlánc használata
A Here String a Here dokumentum egyik változata. A karakterlánc
(cat input_file)
megtartja az új sorokat:
while IFS= read -r line do echo "$line" done <<< $(cat input_file)
A fájl leíró használata
A hurok bemenetét fájl leíróval is megadhatja:
while IFS= read -r -u9 line do echo "$line" done 9< input_file
A fájlleírókkal való munka során használjon 4 és 9 közötti számot, hogy elkerülje a ütközést a héj belső fájlleíróival.
Következtetés
A Bash alkalmazásban soronként olvashatunk egy fájlt azáltal, hogy megadjuk a fájlnevet egy beolvasási ciklus bemeneteként.
bash terminálHogyan töltsünk le fájlt a Windows PowerShell segítségével a Windows 10 alatt
Problémák szembesülnek a fájlok weboldalról való letöltésekor? Használja ezt az egyszerű trükket, hogy letöltsön egy fájlt bármely URL-ből PowerShell segítségével a Windows 10-ben.
Hogyan lehet átalakítani és megnyitni az Apple Pages fájlt Word-ben a Windows PC-n
Ez a cikk megmutatja, hogyan nyisson meg egy Apple Mac-et. oldalfájl a Microsoft Word programban a Windows 10/8/7 PC-n, az Oldalak eszközzel, a Zamzar, a CloudConvert vagy az Etyn
Hogyan olvashatunk pdf könyveket, chm fájlokat és szöveges fájlokat a psp-en
Tanulja meg, hogyan olvashatja el a PDF könyveket, a CHM-et és a szöveges fájlokat a PSP-n.