Linux

Bash Írjon fájlba

Bash Írjon fájlba

A Bash parancsfájlok írásakor vagy a Linux parancssorán végzett munka során az egyik leggyakoribb feladat a fájlok olvasása és írása.

Ez a cikk elmagyarázza, hogyan kell szöveget írni egy fájlba a Bash-ban az átirányítási operátorok és segítségével tee parancs.

Írás fájlba átirányítási operátorokkal #

A Bash-ben a kimenet átirányítása lehetővé teszi, hogy rögzítse a parancs kimenetét és fájlba írja.

A kimenet fájlba történő átirányításának és írásának általános formátuma a következő:

output> fájlnév output >> fájlnév 

Írási engedélyekkel kell rendelkeznie a fájlhoz. Ellenkező esetben az engedély megtagadása hibát fog kapni.

Itt van egy egyszerű példa, amely bemutatja, hogyan irányítja át a visszhang parancs fájlba:

echo "this is a line"> fájl.txt

A meglévő fájlok felülírásának megakadályozása érdekében engedélyezze a „noclobber” opciót a készlet beépített:

set -o noclobberecho "this is a line"> fájl.txt
bash: fájl.txt: nem írja felül a létező fájlt 

A > | operátor lehetővé teszi a Bash „noclobber” opció felülírását:

set -o noclobbervisszhang "ez egy vonal"> | fájl.txt

A >> Az operátor a kimenetet a fájl végéhez fűzi, a fájl felülírása helyett:

echo "ez egy sor" >> fájl.txt

Használja a printf parancs komplex kimenet létrehozásához:

printf "Hello,% s vagyok.\ n "$ USER> fájl.txt

Ha több sort szeretne írni egy fájlba, használja a Here dokumentum (Heredoc) átirányítást.

Például átadhatja a tartalmat a macska parancsot, és írja be egy fájlba:

macska << EOF > fájl.txt A jelenlegi munkakönyvtár: $ PWD $ $ (whoami) EOF néven van bejelentkezve 

A sorok hozzáfűzéséhez módosítsa > val vel >> a fájl neve előtt:

macska << EOF >> fájl.txt A jelenlegi munkakönyvtár: $ PWD $ $ (whoami) EOF néven van bejelentkezve 

Bármelyik parancs kimenetét fájlba írhatja:

dátum + "Év:% Y, Hónap:% m, Nap:% d"> fájl.txt

A kimenet dátum parancs be lesz írva a fájlba.

Írás fájlba a tee Parancs #

A tee a parancs beolvassa a standard bemenetet, és egyszerre ír mind a standard kimenetbe, mind egy vagy több fájlba.

visszhang "ez egy vonal" | tee fájl.txt

A tee A parancs alapértelmezett viselkedése a megadott fájl felülírása, ugyanaz, mint a > operátor. A kimenet fájlhoz csatolásához hívja meg a parancsot a -a (--mellékel) választási lehetőség:

visszhang "ez egy vonal" | tee -a fájl.txt

Ha nem akarja a tee hogy a standard kimenetre írjon, átirányíthatja / dev / null:

visszhang "ez egy vonal" | tee fájl.txt> / dev / null

Ha a szöveget több fájlba szeretné írni, adja meg a fájlokat argumentumként a tee parancs:

visszhang "ez egy vonal" | tee fájl_1.txt file_2.txt fájl_3.txt

További előnye a tee parancs az, hogy a sudo és írjon más felhasználók tulajdonában lévő fájlokba. Szöveg hozzáfűzése egy fájlhoz, amelyhez nincs írási engedélye, tegye előre sudo előtt tee:

visszhang "ez egy vonal" | sudo tee fájl.txt

A visszhang a parancs kimenetét bemenetként továbbítja a tee, amely megemeli a sudo jogosultságokat és a szöveget a fájlba írja.

Következtetés

Linux alatt, ha szöveget akar írni egy fájlba, használja a > és >> átirányítási operátorok vagy tee parancs.

Ha bármilyen kérdése vagy visszajelzése van, nyugodtan írjon megjegyzést.

Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...
Hogyan lehet megváltoztatni a bal és jobb egérgombokat a Windows 10 PC-n
Elég általános, hogy az összes számítógépes egéreszközt ergonómikusan a jobbkezes felhasználók számára tervezték. De vannak olyan egéreszközök, amelye...
Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...