sed & awk LastState 中的疑问

本文详细解析了使用awk进行数据处理的实例,通过实例展示了如何按州名归类显示用户信息,并重点解释了变量使用无需预先赋值的特性。通过提供示例代码和实际运行结果,深入探讨了awk在数据处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sed & awk 书中有一个实例,用来按州名归类显示用户
许多朋友对LastState变量有疑问
这里有一个知识点:awk中对变量使用之前是不用先赋值的.

[t@bjb0541 tmp]$ vim awklaststate.sh 

点击(此处)折叠或打开

  1. #!/usr/bin/env bash
  2. awk '{print $1 " " $0 }' $* | \
  3. sort | \
  4. awk \
  5. '$1 == LastState {\
  6. print "\t" $3\
  7. } \
  8.  $1 != LastState {\
  9. LastState = $1    #重点是这一句,之前使用LastState并没有事先赋值
  10. print $1 "\t" $3}'

点击(此处)折叠或打开

  1. [t@bjb0541 tmp]$ cat laststate
  2. A 134134
  3. B 14514
  4. C 1351431
  5. A 425245235
  6. A 14143132
  7. C 13141242
  8. C 2134414124


点击(此处)折叠或打开

  1. [t@bjb0541 tmp]$ ./awklaststate.sh laststate

  2. A       134134
  3.         14143132
  4.         425245235
  5. B       14514
  6. C       13141242
  7.         1351431
  8.         2134414124


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值