GNU/Linux >> Linux Esercitazione >  >> Linux

Stampa solo parole con lettere maiuscole (Linux)

Potresti per favore provare a seguire, scritto e testato con esempi mostrati solo in 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=""
}'

Singola riga di comando:

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

se sort è necessario/consentito,

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

Devi inserire il pattern regex nel tuo script awk per confrontare $5:

Soluzione:

grep "/elv" ~/spacestation.txt | awk -F/ '$5 ~ /^[A-Z_]+/ {print $5}' | sort -u 
  1. '~' è per confrontare $5 con la corrispondenza del modello regex
  2. '^' è il primo carattere della parola
  3. '[A-Z_]' cercherà tutti i caratteri di maiuscolo compreso _
  4. '+' serve per continuare con la corrispondenza [A-Z_] se trova uno o più caratteri come questo

Linux
  1. Linux:come combinare l'albero con la dimensione della directory?

  2. Stampa righe se la colonna data inizia con una lettera maiuscola?

  3. Linux:aggiornamento quotidiano di Tar.gz solo con file modificati?

  4. Esempi di comandi awk in Linux

  5. Come stampare un intervallo di indirizzi IP con il comando Linux seq

Comando AWK in Linux con esempi

Esercitazione sui comandi Awk Linux/UNIX con esempi

Comando awk di Linux con 10 esempi

Digita i comandi Linux in lettere maiuscole per eseguirli come utente Sudo

Stampa timestamp con output del comando Ping in Linux

Linux – Stampa la memoria libera totale da `free -m`?