我有一个.csv文件,我想通过 bash 脚本将其转换为.txt文件文件看起来像.csv文件
我想获取此格式的 txt 文件
velocity
List<vector>
300 // number of point
(
(U0 U1 U2)
(U0 U1 U2)
...
...
...
)
非常感谢您的帮助
这有点丑,但我认为它可以解决问题:
wc -l < Inlet.csv | cat - Inlet.csv | awk -F, 'BEGIN{printf "velocitynList<vector>n"} NR==1{printf "%sn(n",$1} NR>2{print "("$1 $2 $3")"}END{print ")"}'
这将执行以下操作:
- 从
wc
获取记录计数并将其通过管道传输到 - cat,它将数字与文件连接起来。数字优先并将其通过管道连接到
- 用逗号
-F,
分隔的 awk - 打印出文件顶部的垃圾
'BEGIN{printf "velocitynList<vector>n"}
- 如果它在第一条记录(计数(上
NR==1
则打印它,然后是换行符,然后是参数,然后是另一个换行符{printf "%sn(n",$1}
- 如果我们经过标题(记录大于 2(
NR>2
那么我们打印出前三个字段,周围是参数{print "("$1 $2 $3")"}
- 最后,在处理结束时,我们打印出最终的参数,以关闭我们在步骤 5 中的记录 1 时打印出来的参数
END{print ")"}