Szavak kizárása grep segítségével
Tartalomjegyzék:
- Hogyan lehet egyetlen szót kizárni a grep segítségével
- Több karakterlánc vagy szó kizárása grep segítségével
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!