使用 awk 和并行处理一次多个文件
Process multiple files at once using awk and parallel
我有一百多个 .csv 文件,其中包含以“|”分隔的数据。我需要使用 awk 和 parallel 在每个零件文件的第二列添加前缀。
我一次只做一个文件,但要花几个小时。所以想并行。
input1.csv
10|20
10|30
10|40
input2.csv
20|30
20|40
第 1 行|10
预期输出
input1.csv
10|P20
10|P30
10|P40
input2.csv
20|P30
20|P40
line1|P10
我正在使用它,当我一次处理一个文件时工作,但我需要更快的东西来使用并行处理多个文件
awk 'BEGIN{FS=OFS="|"} { = "P" } 1' input1.csv > in.tmp && mv in.tmp input1.csv
awk 'BEGIN{FS=OFS="|"} { = "P" } 1' input2.csv > in.tmp && mv in.tmp input2.csv
end 最后将所有的input*.csv文件合并到input
这对我有用
parallel "awk -F'|' '{print $1\"|\"\"PO\"$2}' {} > {}.tmp; mv {}.tmp {}" ::: input*.csv
我有一百多个 .csv 文件,其中包含以“|”分隔的数据。我需要使用 awk 和 parallel 在每个零件文件的第二列添加前缀。
我一次只做一个文件,但要花几个小时。所以想并行。
input1.csv
10|20
10|30
10|40
input2.csv
20|30
20|40
第 1 行|10
预期输出
input1.csv
10|P20
10|P30
10|P40
input2.csv
20|P30
20|P40
line1|P10
我正在使用它,当我一次处理一个文件时工作,但我需要更快的东西来使用并行处理多个文件
awk 'BEGIN{FS=OFS="|"} { = "P" } 1' input1.csv > in.tmp && mv in.tmp input1.csv
awk 'BEGIN{FS=OFS="|"} { = "P" } 1' input2.csv > in.tmp && mv in.tmp input2.csv
end 最后将所有的input*.csv文件合并到input
这对我有用
parallel "awk -F'|' '{print $1\"|\"\"PO\"$2}' {} > {}.tmp; mv {}.tmp {}" ::: input*.csv