需要你的帮助。寻找可以将以下输入文件转换为所需输出的shell脚本。我们使用Bash shell
输入文件(.txt)包含:
,,,,Jan_1,Jan_2,Jan_3,Jan_4,Jan_5,.........Jan_30,Feb_1,Feb,2...Dec_31
a,b,c,d,88,89,91,.........(365 numbers)
e,f,g,h,34,23,17,..........(365 numbers)
i,j,k,l,52,63,86,.........(365 numbers)
预期产出:
a,b,c,d,Jan_1,88
a,b,c,d,Jan_2,89
a,b,c,d,Jan_3,91
....
....
a,b,c,d,Jan_31,656
a,b,c,d,Feb_1,23
....
....
a,b,c,d,Dec_31,656
e,f,g,h,Jan_1,34
e,f,g,h,Jan_2,23
e,f,g,h,Jan_3,17
...
...
...
e,f,g,h,Aug_3,454
....
...
e,f,g,h,Dec_31,878
i,j,k,l,Jan_1,52
i,j,k,l,Jan_2,63
i,j,k,l,Jan_3,86
.....
....
i,j,k,l,Dec_31,23
输入文件中的记录数约为13k。 请指教。
我想将第一行存储到一个数组中,然后将前四列作为矩阵考虑,然后进行交叉乘法以获得转置效果。
/
/ stored the first line in an array array1
// From second line using this to get the matrix
while IFS=, read -ra arr; do
## Unable to multiply this arr with array1
echo ${arr[@]:0:4}
done < 'working file.
TXT&#39;
答案 0 :(得分:0)
var parseDate = d3.time.format("%Y-%m-%d %H:%M:%S");
data.forEach(function(d) {
d.date = parseDate.parse(d.datestr);
});
可能有帮助
Awk