我在bash中遇到了粘贴命令的问题
我有一堆三个以逗号分隔的列文本文件,它们共享第2列和第3列。首先,我通过从单个数据文件中提取此共享列来创建txt文件
awk 'BEGIN { FS = "," }{ print $2 "," $3}' file01.txt > msg-coord.txt
然后我通过一个循环来获取列表中每个文件的第一列
for hora
in 00 01 02 03
do
awk 'BEGIN { FS = "," }{ print $1 }' file$hora.txt > a$hora.txt
done
然后尝试粘贴所有新文件(运行正常)
paste -d "," a{00..03}.txt > temporal.txt
并通过粘贴命令添加msg-coord.txt,这不起作用,我找不到原因
paste -d "," msg-coord.txt temporal.txt > msgdata.txt
head msgdata.txt
的输出结果
,-0.0127,-0.1773,-0.3749,-0.3780
,-0.0318,-0.1941,-0.3780,-0.3877
,-0.0510,-0.2109,-0.3807,-0.3973
,-0.0703,-0.2277,-0.3833,-0.4068
,-0.0900,-0.2450,-0.3864,-0.4168
,-0.1101,-0.2632,-0.3903,-0.4272
缺少msg-coord.txt中的两列。
fileXX.txt看起来像
-0.3686,-12.5000,33.5000
-0.3877,-12.5000,33.5800
-0.3973,-12.5000,33.6200
-0.4068,-12.5000,33.6600
-0.4168,-12.5000,33.7000
-0.4272,-12.5000,33.7400
-0.4382,-12.5000,33.7800
-0.4504,-12.5000,33.8200
-0.4638,-12.5000,33.8600
答案 0 :(得分:1)
在合并之前从数据文件(file*.txt
?)中删除DOS行结尾。