Paano Magbukod ng Salita na may grep

Talaan ng mga Nilalaman:

Anonim

Ang tool ng command line ng grep ay lubos na kapaki-pakinabang para sa paghahanap sa pamamagitan ng data ng text para sa mga linya at snippet na tumutugma sa isang tinukoy na string, character, salita, o regular na expression. Habang ang karamihan sa paggamit ng grep ay para sa pag-uuri ng data para sa mga syntax na tugma, paano kung gusto mong magbukod ng salita o string na may grep sa halip? Ang pagbubukod ng mga line matches na may grep ay kaparehong kapaki-pakinabang gaya ng paghahanap at pag-print ng mga tugma sa grep, kaya saklawin natin kung paano ibukod ang mga string na tugma at ibukod ang mga salita na may grep.

Malinaw na gugustuhin mong magkaroon ng ilang karanasan sa command line at pagkakalantad sa grep upang mahanap itong kapaki-pakinabang. Kung gusto mong sumunod, maaari mong buksan ang Terminal application at subukan ito mismo. Dahil ang grep ay isang OS agnostic utility, maaari mong gamitin ang exclude trick sa Mac OS, Linux, unix, o anumang iba pang mayroon ka na gumagamit ng grep.

Paano Magbukod ng Isang Salita na may grep

Ang pinakasimpleng paraan upang ibukod ang mga linyang may string o syntax na tugma ay sa pamamagitan ng paggamit ng grep at -v flag.

Halimbawa, sabihin nating gumagamit kami ng pusa para mag-print ng file sa command line, ngunit gusto naming ibukod ang lahat ng linyang may kasamang terminong “ThisWord”, pagkatapos ay magiging ganito ang hitsura ng syntax:

"

cat example.txt | grep -v ThisWord"

Ang output ay ang example.txt text file ngunit hindi kasama ang anumang linya na naglalaman ng string na tumutugma sa “ThisWord”.

Maaari mo ring gamitin ang grep nang direkta sa mga file at ibukod ang mga line matches batay sa mga salita o syntax, tulad nito:

"

grep -v ThisWord>"

Gamitin ang alinmang pinakamahusay para sa iyong partikular na daloy ng trabaho.

Paano Magbukod ng Maramihang String o Salita na may grep

Ngayong alam mo na kung paano magbukod ng mga tugma para sa isang salita, ang susunod na halatang tanong ay tungkol sa pagbubukod ng maraming salita na may grep. Kasing-simple lang iyon, at may ilang iba't ibang paraan para magawa ito gamit ang -v flag gayundin ang -e flag.

Kunin muna natin ang halimbawa sa itaas ng paggamit ng pusa sa isang file na naka-pipe sa grep, at ibukod ang anumang linyang tumutugma sa dalawang salita; "Word1" at "Word2", magiging ganito ang hitsura nito:

"

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

Anumang mga linyang naglalaman ng “Word1” o “Word2” ay hindi isasama sa mga naka-print na resulta.

Maaari mo ring gamitin ang grep nang direkta sa mga file tulad ng dati:

"

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

Ang isa pang diskarte ay ang paghiwalayin kung ano ang ibubukod sa grep sa pamamagitan ng paggamit ng pipe upang paghiwalayin ang bawat tugma, tulad nito:

"

grep -Ev word1|halimbawa ng word2.txt"

Kung susubukan mo ang alinman sa mga opsyong ito sa isang halimbawang text file, makikita mong magkapareho ang output anuman ang diskarte na iyong gagawin, ang bawat isa ay hindi kasama ang mga linya na kinabibilangan ng mga target na parirala, syntax, salita, o text match.

Mahusay, ipakita sa akin ang isang kapaki-pakinabang na halimbawa ng pagbubukod ng data na may grep!

Para sa isang praktikal na halimbawa na maaaring makatulong ang mga advanced na user ng Mac, maaari naming gamitin ang pagbubukod ng grep kapag nagpi-print at nagtatanong ng history ng command line upang mahanap ang mga naunang naisakatuparan na mga command upang mahanap ang mga default na tugma, ngunit hindi kasama ang ilang napiling mga default na string mula sa output.

Sa halimbawa dito, magpi-print kami ng history ng command para sa mga default na tugma ng string, ngunit ibukod ang anumang tumutugmang may kinalaman sa iTunes gaya ng tinukoy ng “com.apple.itunes”:

"

history |grep defaults write |grep -v -e com.apple.itunes"

Kaya kung sinusundan mo ito, iuulat nito ang lahat ng makasaysayang pagpapatupad ng command na "defaults write", ngunit hindi kasama ang anumang bagay na nauugnay sa iTunes application. Maganda ha?

Kung mayroon kang anumang partikular na madaling gamiting pagbubukod ng mga tugma sa grep, ibahagi ang mga ito sa amin sa mga komento sa ibaba! At kung nasiyahan ka sa artikulong ito, tiyak na gusto mong mag-browse sa aming maraming artikulo ng command line dito kung saan marami pang dapat matutunan!

Paano Magbukod ng Salita na may grep