gawk -v ff=${fileB} '
/^1017/ { print $0 >> ff; next; }
!(/^#/||/^1016/||/^1018/||/^1013/||/^1014/||/^1013/||/^1014/) {
f=substr($0,11,2)".csv"; print $0 >>"../../" f;
}
' ${csvfiles}
大文件AWK性能調整包含了各種20000000 lines.and我們要讀每一行,如果它與1017啓動時,它會在FILEB打印,不論行內容 如果它開始不啓動與上面的跳過列表(1016,1013..
)它將被寫入文件中,其中文件名取自行內容。例如用fg.csv編寫的行 1010,abcdefg,123453,343,3434,
。我們做子串並從第二列中取出fg。寫入多個文件
問題是性能就像每秒35k行。有可能讓它更快嗎?
sample input
Exclusion List 1016 1013 ..
Include line number 1010,1017...
1016,abcdefg,123453,343,3434,
1010,abcdefg,123453,343,3434,
1017,sdfghhj,123453,343,3434,
1034,zxczcvf,123453,343,3434,
1055,zxczcfg,123453,343,3434,
sample output
fileB.csv
1017,sdfghhj,123453,343,3434,
fg.csv
055,zxczcfg,123453,343,3434,
vf.csv
1034,zxczcvf,123453,343,3434,
拆分大文件,並行運行塊和'cat'結果到一個文件中。 – karakfa
[編輯]您的問題,並使用編輯器的「{}」按鈕來格式化您的示例輸入/輸出。還要具體說明要排除哪些數字,並確保您的示例輸入/輸出和代碼反映了這一點。 –