[英]keeping last record among group of records with common fields (awk)
输入文件 :
0,,M00,100,,SEK,20190411T10:02:12+0530,20190425T23:59:59+0530,,vsuser,,5774126050,12345685865,,,test,,,,,,,,,,,,,,,C
0,,M00,100,,SEK,20190411T10:02:12+0530,20190425T23:59:59+0530,20190411T10:02:12+0530,,vsuser,5774126050,12345685865,,,test,,,,,,,,,,,,,,,H
5,,M00,100,,SEK,20190411T10:02:12+0530,20190425T23:59:59+0530,20190411T15:42:17+0530,,vsuser,5774126050,12345685865,,,test,,,,,,,,,,,,,,,H
0,,M00,100,,SEK,20190411T10:02:12+0530,20190425T23:59:59+0530,20190411T15:42:37+0530,,vsuser,5774126050,12345685865,,,test,,,,,,,,,,,,,,,H
0,,M00,100,,SEK,20190411T10:03:16+0530,20190425T23:59:59+0530,,vsuser,,7318713283,12345729902,,,test,,,,,,,,,,,,,,,C
0,,M00,100,,SEK,20190411T10:03:16+0530,20190425T23:59:59+0530,20190410T10:03:16+0530,,vsuser,7318713283,12345729902,,,test,,,,,,,,,,,,,,,H
输出要求:
0,,M00,100,,SEK,20190411T10:02:12+0530,20190425T23:59:59+0530,20190411T15:42:37+0530,,vsuser,5774126050,12345685865,,,test,,,,,,,,,,,,,,,H
0,,M00,100,,SEK,20190411T10:03:16+0530,20190425T23:59:59+0530,20190410T10:03:16+0530,,vsuser,7318713283,12345729902,,,test,,,,,,,,,,,,,,,H
选择公共值为第13列的行。
awk
下面可能会有所帮助:
awk -F, '{found[$13]=$0}END{for(i in found){print found[i]}}' file
产量
0,,M00,100,,SEK,20190411T10:02:12+0530,20190425T23:59:59+0530,20190411T15:42:37+0530,,vsuser,5774126050,12345685865,,,test,,,,,,,,,,,,,,,H
0,,M00,100,,SEK,20190411T10:03:16+0530,20190425T23:59:59+0530,20190410T10:03:16+0530,,vsuser,7318713283,12345729902,,,test,,,,,,,,,,,,,,,H
$ tac file | awk -F, '!seen[$13]++' | tac
0,,M00,100,,SEK,20190411T10:02:12+0530,20190425T23:59:59+0530,20190411T15:42:37+0530,,vsuser,5774126050,12345685865,,,test,,,,,,,,,,,,,,,H
0,,M00,100,,SEK,20190411T10:03:16+0530,20190425T23:59:59+0530,20190410T10:03:16+0530,,vsuser,7318713283,12345729902,,,test,,,,,,,,,,,,,,,H
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.