我有一个awk代码按列拆分文件并将输出打印到新文件名。
awk -F"|" 'NR==1 {h=substr($0, index($0,$5)); next}
{file= path ""$1""$2"_"$3"_"$4"_03042017.csv"; print (a[file]++?"": "DM9 03042017" ORS h ORS) substr($0, index($0,$5)) > file}
END{for(file in a) print "EOF " a[file] > file}'
因为我使用substr($ 0,index($ 0,$ 5)所以新输出只有数据从第五列开始,其余的。它工作正常,除非输入数据我有相同的值。
例如,
product | ID | Branch | Office | Type | ....
ABC | 12 | KL | GH | Z | ....
对于上面的例子,代码运行良好,因为数据输入不同。
product | ID | Branch | Office | Type | ....
ABC | 12 | KK | KK | Z | ....
但是,如果我有像第二个例子那样的数据输入,我对第三和第四列有相同的值数据,代码不能正常工作。我没有获得输出开始和第五列等等,而是获得了第三列的结果。
所以,我怀疑因为第三和第四的数据输入是相同的,所以当我使用substr时它停在第三行。
有人可以帮我解决这个问题吗?很抱歉很长的帖子,如果你们能给我一些想法,我会非常感激。谢谢。
答案 0 :(得分:1)
如果结构像样本一样固定(固定长度字段)
$('#jQmyCases').DataTable({
//... All the required options are here ...
// Fetch data from REST API
});