首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pr截断输出

pr截断输出
EN

Unix & Linux用户
提问于 2021-11-30 15:28:30
回答 2查看 166关注 0票数 0

我有三个文本文件,我想将它们合并到Linux机器上的一个文本文件中。

输入文件:

1_val.txt

代码语言:javascript
复制
0x0000000000060b7c02555b80
0x0000000000060b7c026c6580
0x0000000000060b7c0285ff80

2_val.txt

代码语言:javascript
复制
0x0000000000060b7c0257a180
0x0000000000060b7c026eab80
0x0000000000060b7c02884580

3_val.txt

代码语言:javascript
复制
2.2734
2.2734
2.2734

预期产出:

values.txt

代码语言:javascript
复制
0x0000000000060b7c02555b80 0x0000000000060b7c0257a180 2.2734
0x0000000000060b7c026c6580 0x0000000000060b7c026eab80 2.2734
0x0000000000060b7c0285ff80 0x0000000000060b7c02884580 2.2734

生成的输出:缺少第一列和第二列中的最后三个值。

代码语言:javascript
复制
0x0000000000060b7c02555 0x0000000000060b7c0257a 2.2734
0x0000000000060b7c026c6 0x0000000000060b7c026ea 2.2734
0x0000000000060b7c0285f 0x0000000000060b7c02884 2.2734

我用来做这件事的代码,

代码语言:javascript
复制
pr -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2021-11-30 15:44:59

使用-J开关连接整行并关闭行截断。

代码语言:javascript
复制
pr -J -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt

或将页宽设置为足够大的值:

代码语言:javascript
复制
pr -W80 -m -t 1_val.txt 2_val.txt 3_val.txt > values.txt
票数 2
EN

Unix & Linux用户

发布于 2021-11-30 15:35:50

使用paste并指定空格分隔符:

代码语言:javascript
复制
paste -d' ' 1_val.txt 2_val.txt 3_val.txt >values.txt

问题是,默认情况下,-m选项pr将截断长行(来自man pr,problem ):

-m,--合并并行打印所有文件,每列一个,截断行,但将全长行与-J连接起来。

在您的示例中,这是从第一个文件中删除每一行的最后几个字符。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/679660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档