我有以下代码读取csv文件,然后尝试通过正则表达式匹配某些列,然后输出几行,然后将行打印到csv中。 问题是最终的csv包含多行的输出,但它们位于同一列中。
#!/bin/bash
files=( XW[1-2]something[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].csv)
for i in ${files[@]}; do
awk -F "," '{if($2=="303" && match($4,/^AB[0-9]/) && $5=="3"){print $4,$3,$9;}}' < $i > "201_testing.csv"
done
然后输出全部存储在1个单列中。
AB1 659362 20180628
AB1 1445794 20180927
AB1 2822050 20191230
AB1 6360994 20201230
AB1 7999394 20180427
AB1 10948514 20180328
AB1 76484514 20181228
AB1 149622690 20211230
AB1 149688226 20221229
如何使输出显示在多列(在本例中为3列)而不是仅显示1列?