パイプと組合せる

寄稿:東條遼平

他のコマンドと共に使う

Awkはそれ単体でテキスト処理をさせても大変強力ですが,パイプによって他のコマンドと組み合わせることで,便利な使い方ができます.また,Awkは正規表現も扱えるため,例えば

$ ls | grep bmp
bmp_samp*
sample.bmp
sample2.bmp
sample3.bmp
samplebmp/

このようなgrepの処理でも

$ ls | awk /bmp/
bmp_samp*
sample.bmp
sample2.bmp
sample3.bmp
samplebmp/

このようにAwkで同じことができます.

これだけであればあまりあえてAwkを使う旨みはありませんが, bmpファイルの合計を得るといったようなときには

$ ls -l | awk '/bmp$/{sum+=$5}END{print sum}'
2359458

とできますし,

$ history | awk '/make/{num++}END{print num*100/NR}'
16.0839

自分が打ってるコマンドでプログラムを修正しているパーセンテージなどを求めてみるのも面白いと思います.要は他のコマンドの出力が行単位になっていればよいので,ターミナルで作業している以上,使う局面は少なくないと思います.使えるようにしておくと大変便利です.

Valid XHTML 1.1! home > コンピュータ > プログラミング >
リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.3.29HTML convert time to 0.006 sec.