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 ,如需转载请自行联系原作者
相关文章
|
5月前
|
Linux Perl
xargs 的简介,使用场景以及例子
### xargs的简介 xargs命令是Linux系统中一个非常有用的工具,用于从标准输入或文件中读取数据,并将其作为参数传递给其他命令。它可以将标准输入的文本数据转换为命令行参数,从而实现批处理操作。xargs命令通常用于处理一行一参数的情况,可以将来自标准输入的参数转换为命令行参数。 ### xargs的使用场景 xargs命令在Linux系统中有着广泛的应用,可以方便地将标准输入数据转换为命令行参数,并传递给指定的命令处理。它简化了很多复杂的操作,对于批量处理文件、并发执行命令等场景提供了便利。以下是一些常见的使用场景: 1. **批量删除文件**:结合find命令,批量删除指
137 0
|
Linux Perl Java
5分钟入门AWK
AWK是Linux上卓越的文本处理工具,它具有非常简单的语法结构,拥有强大的文本处理能力。AWK 是一种解释执行的编程语言,AWK 的名称是由它们设计者的名字缩写而来 —— Afred Aho, Peter Weinberger 与 Brian Kernighan。
1992 0
|
Web App开发 人工智能 Shell
|
人工智能 应用服务中间件 Perl
|
Shell 网络安全 Perl