GNU/Linux >> Linux の 問題 >  >> Linux

大文字の単語のみを出力する (Linux)

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=""
}'

単一のコマンド ライン:

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

sort の場合 必要/許可されています

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

$5 を比較するには、正規表現パターンを awk スクリプトに入れる必要があります:

解決策:

grep "/elv" ~/spacestation.txt | awk -F/ '$5 ~ /^[A-Z_]+/ {print $5}' | sort -u 
<オール>
  • '~' は $5 を正規表現パターン マッチングと比較するためのものです
  • '^' は単語の最初の文字です
  • '[A-Z_]' は、_ を含むすべてのキャップス ロック文字を検索します
  • 「+」は、このような文字が 1 つ以上見つかった場合に [A-Z_] のマッチングを続行するためのものです

  • Linux
    1. Linux –ツリーとディレクトリサイズを組み合わせる方法は?

    2. 指定された列が大文字で始まる場合に行を印刷しますか?

    3. Linuxでプロセス名を指定してプロセスIDのみを取得するには?

    1. Awkを使用して5列を含む行のみを印刷するにはどうすればよいですか?

    2. Linux –変更されたファイルでのみTar.gzを毎日更新しますか?

    3. Linux での awk コマンドの例

    1. LinuxでASCIIアートを使ってハロウィーンの挨拶を印刷する

    2. Linuxの「検索」でファイル名のみを取得するには?

    3. Linux seq コマンドで IP アドレスの範囲を出力する方法