更新时间:2022-09-27 09:18:17
例子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
|