GNU/Linux >> Belajar Linux >  >> Linux

Cetak hanya kata-kata dengan Huruf Kapital (Linux)

Bisakah Anda mencoba mengikuti, menulis dan menguji dengan sampel yang ditampilkan hanya di 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=""
}'

Baris perintah tunggal:

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

jika sort diperlukan/diizinkan,

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

Anda perlu memasukkan pola regex di skrip awk Anda untuk membandingkan $5:

Solusi:

grep "/elv" ~/spacestation.txt | awk -F/ '$5 ~ /^[A-Z_]+/ {print $5}' | sort -u 
  1. '~' adalah untuk membandingkan $5 dengan pencocokan pola regex
  2. '^' adalah karakter pertama kata
  3. '[A-Z_]' akan mencari semua karakter caps-lock termasuk dengan _
  4. '+' untuk melanjutkan pencocokan [A-Z_] jika dia menemukan satu atau lebih karakter seperti ini

Linux
  1. Bagaimana Cara Menggunakan Awk Untuk Mencetak Hanya Garis yang Berisi 5 Kolom?

  2. Cetak Garis Jika Kolom Diberikan Dimulai Dengan Huruf Kapital?

  3. Linux – Memperbarui Tar.gz Setiap Hari Hanya Dengan File yang Diubah?

  1. Contoh Perintah awk di Linux

  2. Bagaimana cara mendapatkan hanya ID proses dalam menentukan nama proses di linux?

  3. Cara mencetak range alamat IP dengan perintah seq Linux

  1. Cetak salam Halloween dengan seni ASCII di Linux

  2. Linux – Bagaimana Menggabungkan Pohon Dengan Ukuran Direktori?

  3. Bagaimana cara mendapatkan nama file dengan Linux 'find'?