A fájl bash-ban történő olvasásának és írásának többféle módja van. A legegyszerűbb módszer a „>” és a „>>” operátorok használata.
- A „>” operátor felülírja a meglévő adatokat
- A „>>” operátor hozzáfűzi az adatokat
Az átirányítási operátorok használatának általános formátuma:
Adatok> FájlnévAdatok >> Fájlnév
Értsük meg a fájlba írási eljárást egy példával:
Fájl írása átirányítási operátorokkal
Amint fentebb említettük, a fájlba történő írás egyszerű és egyértelmű megközelítése az átirányítási operátorokat használja. Például, ha meg akarja változtatni egy már létező fájl szövegét, akkor először hozzon létre egy szöveges fájlt a következő névvel:tesztfájl.txt”, És írjon bele bármit:
Mentse a szöveges fájlt.
Írja be az alább említett parancsot a terminálba:
$ echo “A fájl meglévő szövegének felülírása”> tesztfájl.txt
A tönkremenés kockázatos lehet; ezért jó gyakorlat a „noclobber” engedélyezése. A „noclobber” beállítása letiltja a kilépõ fájlok felülírását.
$ set -o noclobber$ echo “A fájl meglévő szövegének felülírása”> tesztfájl.txt
De ha meg akarja kerülni a „noclobber” -t, akkor használja a> |”Operátor>”:
$ echo “A fájl meglévő szövegének felülírása”> | tesztfájl.txtVagy egyszerűen letilthatja a „noclobber” -t:
$ set + o noclobber
De ez a parancs elveszíti az összes fájl védelmét.
A fenti kimenet azt jelzi, hogy a meglévő szöveget felülírták. Most használjuk a>>" operátor:
$ echo „Szöveg hozzáfűzése a meglévő szövegfájlhoz” >> tesztfájl.txt
„visszhangA ”nem mindig ideális a használatra, mivel a szöveget nem lehet vele formázni, ezért az„ echo ”helyett használja a„ printf ”szót a szöveg formázásához, amint azt a következő parancs bemutatja:
$ printf “Welcome \ n Ez egy új szöveges fájl.”> Newtestfile.txt
Értsük meg a koncepciót egy bash script példával. Nyissa meg a Vim-et úgy, hogy beírja a terminálba a „vim” szót. Ha nincs Vim szerkesztő az eszközén, akkor telepítse a következővel:
$ sudo apt install vimÍrja be a szkriptet:
#! / bin / bashvisszhang „Írja be a nevét”
olvassa el a nevet
echo $ name> data_dir.txt
visszhang „Írja be az életkorát”
olvasás kora
echo $ age >> data_dir.txt
cat data_dir.txt
A "macska”Paranccsal lehet létrehozni és szerkeszteni a fájlokat. Mentse a fenti szkriptet a Vimbe módváltással, miután megnyomta a “Kilépés”Gombot, majd írja be a következőt:: w myscript.SH”. Nyissa meg a terminált és futtassa a kódot:
Hogyan írhatunk fájlt a Heredoc segítségével
Ha több sort akar írni, akkor a legegyszerűbb módszer a „Heredoc” használata. Itt a „Heredoc” néven is ismert dokumentum egy többcélú kódblokk. A Heredoc szintaxisa:
Parancs <<[-] Delimiter.
szöveg / parancsok
.
Határoló
Bármely karakterlánc használható a „Elhatároló” helyén, és a „-” a tabulátorok eltávolítására is használható a fájlban. Értsük meg egy egyszerű példa segítségével:
#! / bin / bashmacska << TEXTFILE
Ez egy szöveges fájl.
Ez a fájl a heredoc segítségével készült.
SZÖVEGES FÁJL
A fenti szkript „cat” parancs létrehoz egy szöveges fájlt a „TEXTFILE” néven, és szöveget ír a most létrehozott fájlba. Most mentse a fájlt a következő névre:myscript.SH”. Indítsa el a terminált és futtassa a szkriptet.
Fájl írása a Tee paranccsal
Egy másik módszer a fájlíráshoz a „Tee” parancs használata. A név, amely jelzi ezt a parancsot, bevitelt és egy fájlt ír, és a kimenetet egyszerre mutatja. Alapértelmezés szerint a „Tee” parancs felülírja a meglévő adatokat.
$ echo „Ez néhány szöveg” | tee textfile.txt
Az -a használatához csatolja:
$ echo „Ez egy másik szöveg” | tee -a szövegfájl.txt
Több sor írásához használja:
$ echo „Szöveg hozzáadása több fájlhoz” | tee textfile1.txt textfile2.txt textfile3.txt
A fenti parancs három fájlt hoz létre, ha nem léteznek, és mindegyikhez szöveget ír.
Következtetés
Ez az útmutató több megközelítésre összpontosít, hogy egy bash fájlba írjon példákkal. A bash szkriptekben többféleképpen írhatunk egy fájlt, de a legegyszerűbb az átirányítási operátorok használata: „>”, „>>”. Több sor írására a „heredoc” szó használható, és ha ugyanazokat az adatokat több sorba szeretné írni, akkor a „tee” parancs nagyon hasznos.