Custom Search

JITAKU_SVR_Wiki

awkを覚えることで一気にlinuxサーバと仲良くなれる(気がする)。
何か数字や文字列の取得をしたい、ということが間違いなくあるのだが、個人的には一番早くて楽。

  • cut
    上記でも軽く使っているので、その説明を。
# ps auwwx |grep [h]ttpd  |grep -v rotatelogs | awk '{ print $3}'
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

print $3は左から数えて3番目(カラム)を取得する意味。1行目なら$1。
もとは以下の様な結果。

# ps auwwx |grep [h]ttpd  |grep -v rotatelogs
apache    2646  0.0  1.4 249316 14884 ?        S    May22   0:13 /usr/sbin/httpd
apache    2771  0.0  1.6 250584 16512 ?        S    May17   0:22 /usr/sbin/httpd
apache    3706  0.0  1.4 249308 15300 ?        S    May22   0:12 /usr/sbin/httpd
root     12445  0.0  1.4 245292 14300 ?        Ss   Mar21   5:12 /usr/sbin/httpd
apache   28065  0.0  1.4 247768 14468 ?        S    May12   0:49 /usr/sbin/httpd
apache   28066  0.0  1.5 249528 16228 ?        S    May12   0:52 /usr/sbin/httpd
apache   28067  0.0  1.4 248272 14864 ?        S    May12   0:51 /usr/sbin/httpd
apache   28068  0.0  1.6 250812 17320 ?        S    May12   0:50 /usr/sbin/httpd
apache   28070  0.0  1.4 249268 15160 ?        S    May12   0:50 /usr/sbin/httpd
apache   28071  0.0  1.5 249284 15760 ?        S    May12   0:51 /usr/sbin/httpd
apache   28072  0.0  1.6 250592 16928 ?        S    May12   0:49 /usr/sbin/httpd
apache   28074  0.0  1.4 247784 14380 ?        S    May12   0:50 /usr/sbin/httpd
apache   28622  0.0  1.8 252472 18964 ?        S    May12   0:50 /usr/sbin/httpd
apache   28647  0.0  1.8 252500 19084 ?        S    May12   0:53 /usr/sbin/httpd
apache   28685  0.0  1.8 251812 18376 ?        S    May12   0:46 /usr/sbin/httpd

見事に3カラム目だけ取得出来ている。



行数を指定する

# ps auwwx |grep [h]ttpd |grep -v rotatelogs | awk 'NR==3'
apache 2022 0.0 1.3 242308 13496 ? S Jul04 4:10 /usr/sbin/httpd

上記の様な使い方だとあまり意味ないが、2行目だけ、3行目だけ欲しい、という時は、 awk 'NR==2'としてあげたらOK。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-17 (木) 17:09:33 (648d)