GNU/Linux >> Znalost Linux >  >> Linux

Tisknout pouze slova velkými písmeny (Linux)

Můžete prosím zkusit následovat, napsat a otestovat ukázky pouze v GNU awk .

your_command | awk '
match($0,/"GET \/[a-zA-Z]+\/[^/]*/){
  val=substr($0,RSTART,RLENGTH)
  sub(/.*\//,"",val)
  if(val!~/[a-z]/){  print val  }
  val=""
}'

Jediný příkazový řádek:

grep -E '/elv/[A-Z]+' infile | sed -E 's:.*/elv/([A-Z_]+).*:\1:'

pokud sort je potřeba/povoleno,

 grep -E '/elv/[A-Z]+' infile | sed -E 's:.*/elv/([A-Z_]+).*:\1:' | sort -u

Chcete-li porovnat $5:

, musíte do skriptu awk vložit vzor regulárního výrazu

Řešení:

grep "/elv" ~/spacestation.txt | awk -F/ '$5 ~ /^[A-Z_]+/ {print $5}' | sort -u 
  1. '~' slouží k porovnání 5 USD s regulárním výrazem shody
  2. '^' je první znak slova
  3. '[A-Z_]' vyhledá všechny znaky caps-lock včetně _
  4. '+' znamená pokračovat ve shodě [A-Z_], pokud najde jednu nebo více postav jako je tato

Linux
  1. Linux – jak zkombinovat strom s velikostí adresáře?

  2. Jak používat Awk k tisku pouze řádků obsahujících 5 sloupců?

  3. Tisknout řádky, pokud daný sloupec začíná velkým písmenem?

  1. Linux – Aktualizace Tar.gz denně pouze se změněnými soubory?

  2. Jak získat pouze ID procesu v zadaném názvu procesu v linuxu?

  3. Jak vytisknout rozsah IP adres pomocí příkazu Linux seq

  1. Vytiskněte si halloweenský pozdrav s ASCII art na Linuxu

  2. Příklady příkazů awk v Linuxu

  3. Jak získat název souboru pouze pomocí Linuxu „najít“?