您的位置:首页 > 其它

AWK神器,数组案例

2013-09-17 16:25 162 查看
例子1 简单统计字母出现次数

cat d
a
a
b
c
d
e
d
f
d
e
g
h
awk '{arr[$0]++} END{ for (key in arr) print key, "->", arr[key] }' d | sort
a -> 2
b -> 1
c -> 1
d -> 3
e -> 2
f -> 1
g -> 1
h -> 1
例子二 awk读取shell中的变量
b=1
cat f
apple
awk -v var=$b '{print var,$d}' f
1 apple
#除了使用-v选项外,还可以使用"'$variable'"的方式从shell往awk传递变量(注意:这里是单引号)
$awk '{print $b, '$b'}' f
apple 1
#把awk中的变量传给shell
a=$(awk '{print $b, '$b'}' f)
echo $a
apple 1
例子三 输出重定向
cat g
1 2 3 5
1 2 4 7
2 4 8 0
2 3 4 6
#重定向的目标文件名必须用双引号引用起来
awk '$3>4 { print $1,$2 > "h" }' g
cat h
2 4
#内容追加
awk '$3>4 { print $1,$2 >> "h" }' g


本文出自 “phper-每天一点点~” 博客,请务必保留此出处http://janephp.blog.51cto.com/4439680/1298276
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: