sed & awk 书中有一个实例,用来按州名归类显示用户
许多朋友对LastState变量有疑问
这里有一个知识点:awk中对变量使用之前是不用先赋值的.
[t@bjb0541 tmp]$ vim awklaststate.sh
-
#!/usr/bin/env bash
-
awk '{print $1 " " $0 }' $* | \
-
sort | \
-
awk \
-
'$1 == LastState {\
-
print "\t" $3\
-
} \
-
$1 != LastState {\
-
LastState = $1 #重点是这一句,之前使用LastState并没有事先赋值
-
print $1 "\t" $3}'
-
[t@bjb0541 tmp]$ cat laststate
-
A 134134
-
B 14514
-
C 1351431
-
A 425245235
-
A 14143132
-
C 13141242
-
C 2134414124
-
[t@bjb0541 tmp]$ ./awklaststate.sh laststate
-
-
A 134134
-
14143132
-
425245235
-
B 14514
-
C 13141242
-
1351431
-
2134414124
阅读(827) | 评论(0) | 转发(0) |