我有三个文本文件,我想将它们合并到Linux机器上的一个文本文件中。
输入文件:
1_val.txt
0x0000000000060b7c02555b80
0x0000000000060b7c026c6580
0x0000000000060b7c0285ff802_val.txt
0x0000000000060b7c0257a180
0x0000000000060b7c026eab80
0x0000000000060b7c028845803_val.txt
2.2734
2.2734
2.2734预期产出:
values.txt
0x0000000000060b7c02555b80 0x0000000000060b7c0257a180 2.2734
0x0000000000060b7c026c6580 0x0000000000060b7c026eab80 2.2734
0x0000000000060b7c0285ff80 0x0000000000060b7c02884580 2.2734生成的输出:缺少第一列和第二列中的最后三个值。
0x0000000000060b7c02555 0x0000000000060b7c0257a 2.2734
0x0000000000060b7c026c6 0x0000000000060b7c026ea 2.2734
0x0000000000060b7c0285f 0x0000000000060b7c02884 2.2734我用来做这件事的代码,
pr -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt发布于 2021-11-30 15:44:59
使用-J开关连接整行并关闭行截断。
pr -J -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt或将页宽设置为足够大的值:
pr -W80 -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt发布于 2021-11-30 15:35:50
使用paste并指定空格分隔符:
paste -d' ' 1_val.txt 2_val.txt 3_val.txt >values.txt问题是,默认情况下,-m选项pr将截断长行(来自man pr,problem ):
-m,--合并并行打印所有文件,每列一个,截断行,但将全长行与-J连接起来。
在您的示例中,这是从第一个文件中删除每一行的最后几个字符。
https://unix.stackexchange.com/questions/679660
复制相似问题