天天看点

awk处理数据awk处理数据

awk处理数据

原始数据

  • 文件名test.txt
  • 说明
    • 文本数据量形如下面的数据,数据量多的情况下excel不方便处理
    • 主要目的是通过第四列【手机号(0~9)】尾号将一个txt文件拆分为10个文件
L3020072600409325|BMAY1617|60100965888885|15035688731|1|20200801000000|20991231235959|heal02|20200726104846|20200726104846|2|20200801000000
L3020072200926044|BMAY1617|60100963277362|13834588453|1|20200801000000|20991231235959|aggsvD|20200722183930|20200722183930|2|20200801000000
           

核心处理语句

  • cat test.txt |awk -F '|' -va='|' '$4%10==0 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_0.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==1 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_1.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==2 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_2.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==3 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_3.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==4 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_4.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==5 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_5.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==6 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_6.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==7 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_7.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==8 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_8.txt
  • cat test.txt |awk -F '|' -va='|' '$4%10==9 {print $1a$2a$3a$4a$5a$6a$7a$8a$9a$10a$11a$12}' >>order_9.txt

命令解析

  • awk处理数据awk处理数据
awk