GNU/Linux >> Znalost Linux >  >> Linux

Grep s logickými operátory?

Existuje nástroj podobný grep, který mi umožní provádět vyhledávání grep pomocí logických operátorů. Chci mít možnost volně vnořovat a kombinovat logické konstrukty. Například takové věci by měly být možné:

grep (term1 && term2) || (term1 && (term3 xor term4)) *

Uvědomuji si, že to lze provést pomocí vanilkového grepu a dodatečného skriptování bash, ale mým cílem je vyhnout se tomu.

Přijatá odpověď:

Pomocí awk , jako u perl , budete muset zalomit výrazy do // , ale lze to udělat:

awk '(/term1/ && /term2/) || (/term1/ && xor(/term3/, /term4/))' 

Linux
  1. Výpis všech e-mailových adres v souboru s grep

  2. Jak spustit Grep s více a vzory?

  3. Extrahovat podřetězec podle Regexp s Sed nebo Grep?

  1. Regulární výrazy v příkazu Grep s 10 příklady – část I

  2. Jak se popasovat s barevným výstupem

  3. Spojte dva řetězce v jednom řádku s grep

  1. Propojené příkazy s ovládacími operátory v Bash

  2. Práce s rourami na příkazovém řádku Linuxu

  3. Proč opustit kód 141 pomocí grep -q?