0
私は、一連のURLのために自分のnginxログを解析し、正規表現する必要があります。例えば、私はオンラインで見つけるいくつかのリンクから、このawkコマンドが25ので最も人気のあるURLを見つける:
cat access.log | awk '{ print $7 }' | sort | uniq -c | sort -rn | head -n 25
をこの行は、特定のパターンで最も要求されたURLを見つける:
awk -F\" '($2 ~ "ref"){print $2}' access.log | awk '{print $2}' | sort | uniq -c | sort -r
何Iこれらの両方を組み合わせて、正規表現パターンのURLの先頭にあるx
というURLを見つけ出す必要があります。たとえば、URLに「cupcake」という最も人気のあるURLを見つけたい場合、これをどうやって行うのですか?さらに、$
の変数の意味を理解するのに苦労しています。 $2
または$7
の変数は何を参照していますか?私がそれを見分けることができれば、私は自分の道にいると思う。正しい方向へのプッシュは役に立ちます。ありがとう。
awk '{print $ 7}'はawkがファイルの7番目の列を出力することを意味します。これはawkの非常に基本的なものです。 '$ 1'、' $ 2' ....と '$ 0'について少し読んでください。 「FS」「OFS」「NF」「NR」のような組み込み変数 –