- 論壇徽章:
- 2
|
本帖最后由 unix520 于 2023-08-29 21:21 編輯
回復(fù) 4# wh7211
結(jié)果是正確, 但是似乎有點(diǎn)慢, 將主題例重復(fù)復(fù)制粘貼到100m文件試 在同一臺配置上用了53秒, 由于每次都會寫入新的 所以需要提高效率才行 , 還能再快一些嗎? 另外想用win gawk環(huán)境執(zhí)行
- $ 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}/結(jié)束/{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
復(fù)制代碼
在同一臺配置上用已棄用代碼 用時僅14s, 由于是列匹配模式, 有很多列不整齊問題, 想棄用 但如果可以修改為匹配MAC, 效率應(yīng)該也很理想的
- $ 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~/結(jié)束/){print "";b=0}}}' 1.txt 1.txt >2.txt
- real 0m14.997s
復(fù)制代碼
|
|