「AWKコマンド完全ガイド|基本から売上集計まで徹底解説!」

PC
スポンサーリンク

リナックスはパソコンのオペレーションシステムのひとつであり、サーバー管理などに用いられます。

その中の一つのコマンド awk について解説しています

前提知識と事前準備

awkは一言でいうと様々なデータから一つを抽出するコマンドです。

では実際に使ってみましょう

前提知識…リナックスコマンドを使う上ではWindowsコマンド(CTR+Cなど)などが使えないためこれらを覚える必要があります。

コピーCtrl + Shift + C
ペーストCtrl + Shift + V

また これ以降のコマンドを使う上で左から1つ目の文字群を$2 二つ目を$2 として扱っていきます。意味を考えるとややこしくなるので気にせず行きましょう。

まずは vi <ファイル名> のコマンドでファイルを作成します

この場合 hoge という名前のファイルを作成しました。このファイルの中身は 

購入日時 果実名 総売り上げ

20110302 バナナ 1004
20110302 リンゴ 855
20110303 リンゴ 809
20110303 ナシ 1243
20110304 バナナ 955
20110305 ナシ 12013

cat hoge とコマンドを打って自分が作ったファイルが表示されるか確認してください。

ここまでで事前準備が完了しました。

実践 一覧をまとめて表示

awkのコマンドを打つうえで覚えておきたいテンプレートは 

awk ‘ <パターン>{print}’ <ファイル名> 

パターンというのは抽出したい文字がどこにあるのか書くところです。 print の後に$1や

“打ち込みたい文字” を打ち込みます。正直これらはこのブログでは解説しません。

ではさっそくコマンドを打ってみましょう。

Q 2011年の3月2日に購入された果物のデータを表示 (一覧で)

この場合注目するのは日付です。つまり$1==20110302のものを表示すればいいのです。よってこの問題の答えは

A awk’$1==20110302{print}’  hoge

これだけです。

条件を追加してみましょう。

実践② 一覧の一部を表示

Q 2011年の3月2日に購入されたバナナの売り上げを確認したい。

表示したもののをさらに絞るには | ←という記号を用います この記号の意味は 次に 的な意味です。

ではやってみましょう

A awk’$1==20110302{print}’ hoge  | awk ‘$2==バナナ{print}’ hoge

です。 簡単ですね。

実践③ 一定の数値以上の表示

Q 1000円以上の売り上げを記録した果物のデータを調べる 

この場合注目するのは$3の売り上げです。これが1000円以上とパターンに入力すれば表示されるはずです。

A awk ‘$3>={print}’hoge

簡単ですね

実践④ 両方の条件が真の場合での表示

Q 2011年3月2日のバナナの売り上げを表示しろ

この場合条件が二つ出てきています 一つは日付 もう一つはバナナということです。

この場合は パイプで区切るか && を使いましょう&&は両方の条件が一致するものだけを表示します。 

A awk ‘ $1==20110302 && $2==バナナ {print $3}’ hoge

別解:awk’ $1==20110302{print}’ hoge | awk’ $2==バナナ {print $3} hoge

どちらでやっても同じように出力されます。

今回は初歩的なコマンドでしたが次回のブログではもっと高度なコマンドを解説します。

コメント

タイトルとURLをコピーしました