
configの切り取りやデータの何列目を切り取りたいという場合に多く使用するため、
個人的にまとめる
〇フィールド指定
awk -F '[フィールド区切り文字]' '{print $1}'
【見方】
-F:フィールド区切り文字指定
複数選択でき、複数必要な場合は連続で並べて問題なし
区切りを指定する場合は、”で囲むこと
‘{print $1}’:上記のFオプションで区切った文字を基準に1..2..などどこの列を切り抜いてデータを取得するかをprintのあとの数で設定する。これはFオプションで指定していなくても有効。
$0の場合はすべてを抽出するため、注意
また、{print $NF}というものがある。
これは最終フィールドを指定するものであり、後ろから数えて取得するもの
{print $NF-1}の場合、後ろから1フィールド前のものとなる。
過去に使用した例として、WAFを経由してバックエンドにあるサーバに通信するときアクセスログにはIPアドレスがWAFのアドレスが記載される。
X-Forwarded-For を使用していると、アクセスログの最終フィールドに送信元の機器からのIPアドレスが乗っている。
そのIPアドレスを制御したい場合はawkで集計して制御を行う
〇合計
awk '{sum+=$2} END {print sum}'
【見方】
$2:集計したい列を指定
個人的に使用用途としてメモリやCPU使用量を確認するため、現在のプロセスをpsで表示させ、集計したい列を合計する。そうすれば今使用量がわかる。
コメント