AWK神器,数组案例

简介:

例子1 简单统计字母出现次数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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中的变量

1
2
3
4
5
6
7
8
9
10
11
12
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

例子三 输出重定向

1
2
3
4
5
6
7
8
9
10
11
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






















本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1298276 ,如需转载请自行联系原作者
相关文章
|
Shell 网络安全 Perl
2021年11月22号 awk高级用法(下)
2021年11月22号 awk高级用法(下)
125 0
|
Perl
2021年11月18号 awk高级用法(上)
2021年11月18号 awk高级用法(上)
122 0
|
人工智能 应用服务中间件 Perl
|
Shell 网络安全 Perl