我在一个目录中有几个文件是这样命名的;
1_38OE983729JKHKJV.csv
一个整数,后跟一个 ID(整数和 ID 都是唯一的)。
我需要将此 ID 附加到文件夹中每个文件的文件的每一行,以准备将文件导入数据库(并丢弃文件名的整数部分)。该文件的内容如下所示:
BW;20015;11,45;0,49;41;174856;4103399
BA;25340;11,41;0,55;40;222161;4599779
BB;800;7,58;0,33;42;10559;239887
HE;6301;9,11;0,39;40;69191;1614302
.
.
.
Total;112613;9,33;0,43;40;1207387;25897426
最终结果应该是这样的:
38OE983729JKHKJV;BW;20015;11,45;0,49;41;174856;4103399
38OE983729JKHKJV;BA;25340;11,41;0,55;40;222161;4599779
38OE983729JKHKJV;BB;800;7,58;0,33;42;10559;239887
38OE983729JKHKJV;HE;6301;9,11;0,39;40;69191;1614302
.
.
.
38OE983729JKHKJV;Total;112613;9,33;0,43;40;1207387;25897426
谢谢您的帮助!
编辑:为了清晰起见,拼写和词汇
尝试在单个 awk 中执行以下操作,它也会处理在此操作期间打开的文件数,这样我们将避免最大打开文件数的错误。
awk 'FNR==1{close(val);val=FILENAME;split(FILENAME,a,"_");sub(/\..*/,"",a[2])} {print a[2]","$0}' *.csv
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句