GNU/Linux >> Znalost Linux >  >> Linux

pomocí awk s podmínkami hodnoty sloupce

Pokud hledáte konkrétní řetězec, vložte jej do uvozovek:

awk '$1 == "findtext" {print $3}'

V opačném případě bude awk předpokládat, že se jedná o název proměnné.


V závislosti na AWK implementaci používáte == je v pořádku nebo ne.

Zkusili jste ~ ? Například, pokud chcete, aby $1 byl "hello":

awk '$1 ~ /^hello$/{ print $3; }' <infile>

^ znamená začátek 1 $ a $ je konec 1 $.


Tato metoda používá regulární výraz, měla by fungovat:

awk '$2 ~ /findtext/ {print $3}' <infile>

Linux
  1. Používáte Notify-Send s Cronem?

  2. Zachyťte skupiny pomocí Awk nebo Grep?

  3. Použití barev s printf

  1. Odeberte konkrétní znak pomocí awk nebo sed

  2. Jak podložit soubor pomocí FF pomocí dd?

  3. Použití grep vs awk

  1. Používáte zalamování slov s Mc?

  2. Jak nahradit obsah konkrétního sloupce awk?

  3. Jak změnit soubor na místě pomocí awk? (jako u sed -i)