- 论坛徽章:
- 2
|
本帖最后由 unix520 于 2023-08-29 21:21 编辑
回复 4# wh7211
结果是正确, 但是似乎有点慢, 将主题例重复复制粘贴到100m文件试 在同一台配置上用了53秒, 由于每次都会写入新的 所以需要提高效率才行 , 还能再快一些吗? 另外想用win gawk环境执行
- $ time awk '/新增/{a=1;match($0,"(([0-9A-Z]{2}:){5}[0-9A-Z]{2})",b);d[++c]=b[1]}a{e[c]=e[c]?e[c]"\n"$0:$0}/结束/{a=0}END{for(i=1;i<=c;i++){if(d[i]==d[c]){print e[i]"\n">"2.txt"}}}' 1.txt
- real 0m53.557s
复制代码
在同一台配置上用已弃用代码 用时仅14s, 由于是列匹配模式, 有很多列不整齐问题, 想弃用 但如果可以修改为匹配MAC, 效率应该也很理想的
- $ time awk 'NR==FNR{if($2~/新增/){a=$3}}NR>FNR{if($3~a){d=$0;getline;if($2~/新增/){b=0;next}else{print d;b=1}};if(b==1){print $0;if($2~/结束/){print "";b=0}}}' 1.txt 1.txt >2.txt
- real 0m14.997s
复制代码
|
|