A Linux-fejlesztők azt a filozófiát követik, hogy olyan kis programokat hoznak létre, amelyek egyetlen feladatot és jól csinálnak. Vegyük például a Linux szövegfeldolgozó eszközeit, amelyek könnyűek és moduláris funkcionalitásúak. Noha ezek a szövegszerkesztő eszközök összetettségükben és funkcionalitásukban különböznek egymástól, jól jöhetnek olyan környezetben, ahol a grafikus felhasználói felület nem érhető el.
A cikk bemutatja a legjobb Linux-eszközöket fájlok olvasásához és reguláris kifejezések használatához a kiválasztott szöveggel végzett műveletek végrehajtásához. Lefedi a legalapvetőbb funkcióikat és példákat is a jobb megértés érdekében.
1. grep
A grep egy Linux szövegmanipuláló segédprogramja, amely karakterláncokat vagy mintákat keres, amelyek reguláris kifejezésként ismertek egy fájlban vagy szövegben. A grep eszköz az egrep, fgrep és grep segédprogramok családjába tartozik, amelyek közül az fgrep a leggyorsabb, míg a grep a legegyszerűbb.
A grep használatának általános szintaxisa a következő:
grep -options string fájlnév
Például a „root” szó kereséséhez az /etc/passwd fájl:
grep gyökér /etc/passwd
Néhány szabványos parancssori példa a kezdéshez:
Opciók | Példa | Leírás |
---|---|---|
-c | grep -c |
Számolja meg azoknak a soroknak a számát, amelyekben a karakterlánc létezik |
-én | grep -i |
Végezzen keresést a kis- és nagybetűk megkülönböztetése nélkül a megadott karakterláncra |
-o | grep -o |
Csak az egyező karakterláncot nyomtatja ki |
-l | grep -l "passwd" | Kinyomtatja a mintának megfelelő fájlneveket az aktuális könyvtárban |
-n | grep -n |
Kiírja a sorszámot a megadott karakterláncot tartalmazó sor mentén |
string1|karakterlánc2 | grep "string1|karakterlánc2" fájl | Több karakterlánc megkeresése és kinyomtatása egy fájlból |
Hasonlóképpen használhatja a ^ metakarakter a grep paranccsal, hogy megjelenítse az összes megfelelő karakterláncot, amely bizonyos karakterekkel kezdődik.
Például a következő parancs az env parancs kimenetét a grep bemeneteként adja meg, és megjeleníti a "" karakterekkel kezdődő változókatHO":
env | grep ^HO
Összefüggő: Gyakorlati példák a Linux Grep parancsaira
2. awk
Az awk egy hatékony szkriptnyelv és egy parancssori szövegmanipuláló eszköz, amely képes soronkénti vizsgálatokat végezni, és a sorokat mintákkal összehasonlítani. Az awk parancs alapvető szintaxisa egy idézőjel és a kapcsos zárójelek között meghatározott művelet, amelyet a fájlnév követ.
awk '{action}' fájlnév
awk '{minta; action}' fájlnév
A segédprogram reguláris kifejezések segítségével keres a fájlban, és végrehajtja a műveleti paraméterben meghatározott funkciót. Az awk minden sorban végrehajtja a szkriptet, ha nem állít be mintát, az alábbiak szerint:
awk '{print $1}' awk_examples.txt
...ahol $1 az első mezőt jeleníti meg awk_examples.txt fájlt.
A következő parancs végrehajtja a nyomtatási funkciót az adott mintán a második mező lecserélésévelVilág" val vel "Alice", és megjeleníti a teljes sort ($0):
echo "Hello World" | awk '{$2="Alice"; nyomtatás $0}"
Kimenet:
Szia Alice
Hasonlóképpen használhatja a funkciót nyomtatás $0 a fenti parancsból, hogy emulálja a grep funkcionalitás.
awk '/john/{print $0}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh
3. fajta
A sort egy másik Linux parancssori segédprogram, amely segít a megadott szövegfájl tartalmának rendezett formátumban történő megjelenítésében. Például az awk parancs kimenetét a rendezési segédprogram bemeneteként továbbíthatja a következőképpen:
awk '{print $1}' awk_examples.txt | rendezés > sort_text.txt
cat sort_text.txt
Kimenet:
Összefüggő: Szövegfájlok rendezése Linuxban a rendezés segítségével
4. sed
A sed vagy a stream szerkesztő karakterfolyamként veszi fel a bemenetet, és szűrést és szövegátalakítást hajt végre (törlés, helyettesítés és csere) a megadott szövegen.
Használhatja szkriptben, és nem interaktív módon szerkesztheti a fájlokat. Ezért a segédprogram legalapvetőbb célja a karakterlánc/karakterek helyettesítése. Az általános szintaxis a következő:
sed 's/string/substitution/option' fájl
Hozzon létre egy fájlt véletlenszerű mondatok használatával, hogy gyakorolja és megértse a segédprogram működését.
Cseréljük le a " szó előfordulásátkettő" a fájl minden sorában a következővel: "2" használni a -g zászló a globális cseréhez, az alábbiak szerint:
sed 's/two/2/g' sed_examples.txt > sed_examples2.txt
Hasonlóképpen használja a -d megjelölés egy adott sor törléséhez a fájlból:
sed '2d' sed_examples.txt
A karakterláncot lecserélheti egy sorszám megadásával (4 s/két/2/p), és csak a lecserélt sort nyomtatja ki az alábbiak szerint:
sed -n '4 s/two/2/p' sed_examples2.txt
A -n flag a fenti parancsban letiltja a bemeneti adatfolyam automatikus nyomtatását a kimenetre. Használhatja ezt az opciót a grep segédprogram sed-re cserélésére.
Például módosíthatja a fenti parancsot úgy, hogy csak egy regex mintát ad hozzá /two/p olyan, hogy a -o flag csak a sorokat nyomtatja ki a szabványos kimeneti adatfolyamba.
sed -n '/két/p' sed_examples2.txt
Összefüggő: Ez a 10 sed példa nagy teljesítményű Linux-felhasználóvá tesz
5. vágott
A kivágás egy másik parancssori segédprogram, amely kivágja/kivonja a szövegrészeket egy sorból vagy fájlból. Kivágja a szöveget egy megadott mező, karakter vagy bájtpozíció alapján, és az eredményt a szabványos kimenetre továbbítja.
A segédprogram a következő szintaxist veszi fel:
vágott fájlt
Használja a -b lehetőség szakasz vagy tartalom kivágására meghatározott bájt vagy bájttartomány használatával:
cut -b 1 cut_examples.txt
Használja a -c zászló a szöveg kibontásához a karakterek pozíciójának megadásával:
cut -c 1,3,5 cut_examples.txt
Végül a szöveget is kivonhatja a mezők megadásával a -f opció és -d szóköz- vagy mezőhatárolóhoz:
cut -d " " -f 1 cut_examples.txt
Itt található a tartományok listája példákkal és leírásokkal, amelyeket a karakterrel használhat -c és bájt -b opciók:
Hatótávolság | Példa | Leírás |
---|---|---|
n- | cut -c 7- fájlnév | Karakter kivonása az n-edik egész számból a sor végéig |
n-m | cut -b 7-15 fájlnév | Kivonja a bemeneti fájl minden sorának n-m egész számát |
-m | cut -c -7 fájlnév | Kivonja a sorokat m-től a sor végéig |
Vegye figyelembe, hogy a mező használatával nem határozhatja meg a szövegkivonás tartományait -f választási lehetőség.
Szöveg manipulálása Linux parancsokkal
A Linux számos programot és eszközt kínál a fájlok vagy szövegek kezelésére és kezelésére. Előfordulhat, hogy nem szükséges mindegyiket megtanulni, mivel könnyen kitöltheti a hiányt egy másikkal, ha már jól tud az egyiken, például használja a sed-et grepként vagy az awk-t grepként, de ez nem igaz minden eszközre.
Emellett a Linux parancsok meredek tanulási görbével rendelkeznek, de ha egyszer fejlesztjük a készségeket, nagyon hasznosnak és hatékonynak bizonyulhatnak bármely Linux-felhasználó, különösen a rendszergazda életében.
Unod már a régi és unalmas terminálalkalmazást, amely előtelepítve érkezik Linuxra? Tekintse meg ezt a nyolc terminálalkalmazást, amelyek javítják a munkafolyamatot.
Olvassa el a következőt
- Linux
- Linux parancsok

Rumaisa a MUO szabadúszó írója. Sok kalapot viselt, a matematikustól az információbiztonság-rajongóig, és most SOC elemzőként dolgozik. Érdeklődési köre az új technológiákról, Linux disztribúciókról és az információbiztonsággal kapcsolatos bármiről való olvasás és írás.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez