Szavak kizárása grep segítségével

Tartalomjegyzék:

Anonim

A grep parancssori eszköz rendkívül hasznos a szöveges adatok között olyan sorok és töredékek kereséséhez, amelyek megfelelnek egy meghatározott karakterláncnak, karakternek, szónak vagy reguláris kifejezésnek. Míg a grep legtöbbször a szintaktikai egyezések adatainak rendezésére szolgál, mi a teendő, ha inkább egy szót vagy karakterláncot szeretne kizárni a grep használatával? A soregyezések grep segítségével történő kizárása ugyanolyan hasznos, mint a grepben található egyezések keresése és kinyomtatása, ezért nézzük meg, hogyan lehet kizárni a karakterláncegyezéseket és a szavakat grep segítségével.

Nyilvánvalóan szüksége lesz némi parancssori tapasztalatra és a grep-re, hogy ezt hasznosnak találja. Ha követni szeretné, nyissa meg a Terminál alkalmazást, és próbálja ki saját maga. Mivel a grep egy operációs rendszer agnosztikus segédprogramja, használhatja a kizárási trükköt Mac OS, Linux, unix vagy bármi más, ami grep-et használ.

Hogyan lehet egyetlen szót kizárni a grep segítségével

A karakterlánc- vagy szintaktikai egyezésű sorok kizárásának legegyszerűbb módja a grep és a -v jelző használata.

Tegyük fel például, hogy a cat parancsot használjuk egy fájl kinyomtatására a parancssorban, de ki akarunk zárni minden olyan sort, amely tartalmazza a „ThisWord” kifejezést, akkor a szintaxis a következőképpen nézne ki:

"

macska példa.txt | grep -v ThisWord"

A kimenet az example.txt szövegfájl lesz, de kizár minden olyan sort, amely a „ThisWord” szóval egyezik.

A grep-et közvetlenül is használhatja fájlokon, és kizárhatja a soregyezéseket szavak vagy szintaxis alapján, például:

"

grep -v ThisWord>"

Használja azt, amelyik a legjobban működik az adott munkafolyamathoz.

Több karakterlánc vagy szó kizárása grep segítségével

Most, hogy tudja, hogyan zárja ki egyetlen szó egyezését, a következő nyilvánvaló kérdés több szó kizárása a grep használatával. Ez ugyanilyen egyszerű, és van néhány különböző módja ennek a -v és az -e jelzőjének használatával.

Először is vegyük a fenti példát a cat használatára egy grep-be vezérelt fájlban, és zárja ki a két szónak megfelelő sorokat; „Word1” és „Word2”, ez a következőképpen nézne ki:

"

macska példa.txt | grep -v -e Word1 -e Word2"

A „Word1” vagy „Word2” szót tartalmazó sorok ki lesznek zárva a nyomtatott eredmények közül.

A grep-et közvetlenül is használhatja fájlokon, ugyanúgy, mint korábban:

"

grep -v -e Word1 -e Word2 example.txt"

Egy másik megközelítés az, hogy a grep segítségével elválasztjuk, hogy mit kell kizárni, úgy, hogy egy pipett használunk az egyes egyezések elválasztására, például:

"

grep -Ev word1|word2 example.txt"

Ha ezeknek a lehetőségeknek bármelyikét kipróbálja egy példaszövegfájlban, azt fogja tapasztalni, hogy a kimenet azonos, függetlenül attól, hogy milyen megközelítést alkalmaz, kivéve azokat a sorokat, amelyek a célzott kifejezéseket, szintaxist, szavakat vagy szövegegyezés.

Szuper, mutass egy hasznos példát az adatok grep segítségével történő kizárására!

Gyakorlati példaként, amelyet a haladó Mac-felhasználók hasznosnak találhatnak, használhatjuk a grep-kizárást a parancssori előzmények nyomtatása és lekérdezése során, hogy megkeressük a korábban végrehajtott parancsokat az alapértelmezett egyezések megtalálásához, de kizárjunk néhány kiválasztott alapértelmezett karakterláncot a programból. Kimenet.

Az itt látható példában kinyomtatjuk a parancselőzményeket az alapértelmezett karakterlánc-egyezésekhez, de kizárunk minden olyan egyezést, amely az iTunes-hoz kapcsolódik a „com.apple.itunes” definíció szerint:

"

history |grep alapértelmezett írása |grep -v -e com.apple.itunes"

Tehát, ha követi a folyamatot, ez a „defaults write” parancs minden korábbi végrehajtásáról jelentést készít, de kizár mindent, ami az iTunes alkalmazásra vonatkozik. Szép mi?

Ha van valami különösen praktikus módja a grep-el való egyezések kizárásának, ossza meg velünk az alábbi megjegyzésekben! És ha tetszett ez a cikk, szinte biztos, hogy szívesen böngésszen az itteni parancssori cikkeink között, ahol még rengeteg tanulnivalót találsz!

Szavak kizárása grep segítségével