
【已解決】gawk如何合并2段正則表達式代碼以實現不輸出中間結果的目的最后由 思想之翼 于 -4-24 17:00下述2段正則表達式,代碼1輸出結果文本A;代碼2依據結果文本A,輸出結果文本B。現在欲將這2個代碼合二為一,以實現不輸出結果文本A這一中間過程,而將其數值儲入內存,然后調用內存數值進行運算,輸出結果文本B。代碼1:替換文本數值后,輸出結果文本A字典文本d:HY0000100001_1.txt ~ 000001_7.txt替換文本e:ZDGD0000100001_1.txt ~ 000001_7.txt結果文本A【實現目標:不寫入7個文本,儲存在內存,等待代碼2調用】e:HYGD0000100001_1.txt ~ 000001_7.txt
代碼2:合并結果文本A 000001_1.txt ~ 000001_7.txt 共7個文本,提取重復N次的字符,輸出結果文本B結果文本A【實現目標:不讀入7個文本,調用代碼1儲存在內存的數據】e:HYGD0000100001_1.txt ~ 000001_7.txt結果文本Be:TQGD00001.txtnclick="copycode($('code0'));">復制代碼
- @echo off
- setlocal enabledelayedexpansion
- for /l %%f in (1000001,1,1001798) do (
- set p=%%f
- for /l %%g in (1,1,7) do (
- gawk -F= ARGIND>1{if(b[$1]){a[ARGIND]=a[ARGIND]==?$2:a[ARGIND] n $2;next}}{b[$0]++}END{for(i=2;i<=ARGIND;i++){ if(a[i]){f=ARGV[i];sub(/^d:HY/,e:HYGD,f);print(a[i])>f}}} e:ZDGD!p:~1!!p:~1!_%%g.txt d:HY!p:~1!!p:~1!_%%g.txt
- ))
- exit
nclick="copycode($('code1'));">復制代碼
- @echo off
- setlocal enabledelayedexpansion
- for /l %%f in (1000001,1,1001798) do (
- set p=%%f
- gawk {for(i=1;i<=NF;i++)a[$i]++}END{for(i in a)if(a[i]==7)print i} e:HYGD!p:~1!*.txt>e:TQGD!p:~1!.txt
- )
- exit

