Contents
- UNIX
- Windows
- サーバ
- プログラミング言語
- データベース
- プロトコル
- サービス
- オープンソース
- 規格・技術
- アプリケーション
- PC
- DEVICE
- その他(未分類)
お問合せ: メールフォーム
ã³ãã³ã | 説æ |
---|---|
awk | UNIXä¸ã§éçºããããã£ã¼ã«ãæåã®ããã¹ãå¦çã¹ã¯ãªããè¨èª |
2è¡ç®ã¨3è¡ç®ã表示ãã (ãã¤ãçµç±)
% cat hoge.txt | awk 'NR==2,NR==3 { print }'
2è¡ç®ã¨3è¡ç®ã表示ãã (ãã¡ã¤ã«ããèªã¿è¾¼ã)
% awk 'NR==2,NR==3 { print }' < hoge.txt
æ¡ä»¶åå² (if else)
% grep 'needle' hoge.txt \ | awk '{if($2==OK) ok++; else ng++}; END {print ok; print ng}'
第ï¼ãã£ã¼ã«ãã®ãOKããã«ã¦ã³ãããåæã«ãOK以å¤ããã«ã¦ã³ãããã
æ¼ç®å && ||
% some_command | awk '{if($1==A && $2==B) print}' % some_command | awk '{if($1==A || $2==B) print}'
第ï¼ãã£ã¼ã«ããã1以ä¸ãã®è¡ã®ã¿æ¸ãåºã
% awk $2>=1{print $0} < hoge.txt > fuga.txt
ãâã$0 ã¯è¡å ¨ä½ã表ã
% awk $2>=1{print} < hoge.txt > fuga.txt
ãâãprint ã®å¼æ°ãçç¥ããå ´åãããã©ã«ãã¯è¡å ¨ä½
第ï¼ï¼ï¼ï¼ï¼ãã£ã¼ã«ããåè¨ãã¦ã9以ä¸ãã ã£ãããåè¨å¤ã¨è¡å ¨ä½ãåºåãã
% grep 'needle' hoge.txt | awk '{sum=$3+$4+$5; if(sum>=9)print sum" "$0}'
第ï¼ãã£ã¼ã«ãã®æååã®é·ããã10ãã ã£ããåºåãã
% awk '{if(length($2)==10) print}' < less hoge.txt
è¯å®ã®æ£è¦è¡¨ç¾ (line ~ /regex/ )
% cal 2007 | awk '$1 ~ /J/' January February March July August September
å¦å®ã®æ£è¦è¡¨ç¾ (line !~ /regex/ )
% cal 2007 | awk '$1 !~ /J/' 2007 Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 1 2 3 7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 : :
% less hoge.txt 550 1 550 1 3000 1 3000 1 3000 1 10001 1 10002 1 10002 1 10002 1 10002 1 10003 1 % less hoge.txt \ | awk '{a[$1] += $2} END{for(key in a) print key"\t"a[key]}' 550 2 3000 3 10001 1 10002 4 10003 1
% export _VAR=123 % less hoge.txt | awk '{if(ENVIRON["_VAR"]<=$1) print $0;}'
% less ketuban.txt 1 2 5 6 8 10 % less ketuban.txt | sort -n \ | awk '{if(a+1 < $1){for(i=a+1; i<=$1; i++) print i} else {print} a=$1}' 1 2 3 4 5 6 7 8 9 10
ã¡ãªã¿ã«ãã¯ã³ã©ã¤ãã¼ãã¤ã³ãã³ãããã¨
awk '{ if(a+1 < $1){ for(i=a+1; i<=$1; i++) print i } else { print } a=$1 }'