SlideShare a Scribd company logo
1 of 25
Download to read offline
awk入門


        いかたけ
“awk”?
テキスト処理ツール
UNIX/Linuxコマンド
スクリプト言語
“awk”?
When:1977
Who:Alfred Vaino Aho,
    Peter Jay Weinberger,
    Brian Wilson Kernighan
How to use ?
UNIX/Linux コマンド
> awk 'script'
> awk 'script' < textfile
> awk -f scriptfile
> awk -f scriptfile < textfile
とりあえず
書いてみよう
こだまでしょうか
いいえ、awkです
解説
awk '{print $0}'
awk : awkを実行
print : 標準出力へ出力
$0 : 入力行全体
→入力をオウム返しする。
多少実用的なawk
お題:CSVデータ
  神戸市    人口        1544200
         面積        552.66
         人口密度      2794.1
  姫路市    人口        536270
         面積        534.44
         人口密度




       人口      面積       人口密度
 神戸市   1544200 552.66   2794.1
 姫路市   536270 534.44    1003.4
実際に
ご覧ください
How to write awk
BEGIN,ENDで前後処理
読み込んだ行ごとに処理
パターンごとに処理
組み込み定数
Cと類似の構文
awkかわいい
書き方が単純
 →覚えること少ない
  →勉強コスト少ない
   →すぐ使える
    →便利
awkかわいい

仕事中に2時間ぐらいこっそり調べて使
えるようになった(体験談)
awkかわいい
UNIX系の環境では99.999%ぐ
らい入ってる(古いのも)

Cで文字列処理→つらい
awkの評判
┌(┌^o^)┐awk...
本が少ない(3冊ぐらい)
web情報もそこまでawkない
http://gauc.no-ip.org/
まとめ
●UNIX系でテキスト処理
●簡単に使えるので便利

●資料少ない→愛でカバー
終わり

More Related Content

What's hot

Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーションAzure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーションMasashi Shinbara
 
わかってるフレームワーク Laravel
わかってるフレームワーク Laravelわかってるフレームワーク Laravel
わかってるフレームワーク LaravelMasashi Shinbara
 
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニックOSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック庸介 高橋
 
serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例Koichi Shimozono
 
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作SQLによるDynamoDBの操作
SQLによるDynamoDBの操作Sugawara Genki
 
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonserverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonmasahitojp
 
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016Kohei Hoshi
 
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2Masashi Shinbara
 
Laravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログインLaravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログインMasashi Shinbara
 

What's hot (13)

Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーションAzure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
 
わかってるフレームワーク Laravel
わかってるフレームワーク Laravelわかってるフレームワーク Laravel
わかってるフレームワーク Laravel
 
OSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニックOSSから学ぶSwift実践テクニック
OSSから学ぶSwift実践テクニック
 
serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例
 
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作SQLによるDynamoDBの操作
SQLによるDynamoDBの操作
 
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonserverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
 
200k/sec
200k/sec200k/sec
200k/sec
 
Kubernetes helm & helmc
Kubernetes helm & helmcKubernetes helm & helmc
Kubernetes helm & helmc
 
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
 
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
 
Shelly
ShellyShelly
Shelly
 
Ruby風Swift NSOperation編
Ruby風Swift NSOperation編Ruby風Swift NSOperation編
Ruby風Swift NSOperation編
 
Laravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログインLaravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログイン
 

awk入門