【问题标题】:Paste - empty columns粘贴 - 空列
【发布时间】:2020-03-15 15:15:30
【问题描述】:

我想粘贴三个文件的列。中间文件有一行空。这个地方如何设置“标签”?

文件1

B 
B
B

文件2

58399.9865 58468.6631 58434.3248

56972.1692 56975.0525 56973.6108

文件3

22452
29000
1165

粘贴文件1 文件2 文件3 > desired_result

输出:

B   58399.9865 58468.6631 58434.3248    22452
B       29000
B   56972.1692 56975.0525 56973.6108    1165

29000 来自粘贴命令中的最后一个文件,我想将其与 22452 和 1165 对齐

期望的输出:

B   58399.9865 58468.6631 58434.3248    22452
B                                       29000
B   56972.1692 56975.0525 56973.6108    1165

建议后的输出:

B  58399.9865 58468.6631 58434.3248  22452
B  29000
B  56972.1692 56975.0525 56973.6108  1165

【问题讨论】:

  • 我不明白,2 到 5 之间必须有 2 个选项卡,否则列将无法对齐。它看起来像这样:1TABaTAB42TABTAB53TABcTAB6。而paste 将这两个标签设为默认。
  • 我在原始文件中添加了问题
  • 发布正确的输入和所需的输出。
  • 我编辑了我的问题

标签: unix paste


【解决方案1】:
$  paste file* | column -s "$(printf '\t')" -t
B  58399.9865 58468.6631 58434.3248  22452
B                                    29000
B  56972.1692 56975.0525 56973.6108  1165

【讨论】:

  • 感谢它帮助我解决了其他对齐问题,但数字 29000 在“第二”列中。
  • 我不确定你的意思。你有问题吗?
  • 我得到了我在建议后添加到我的问题中的输出。
  • @Alex:好吧,可能是因为你不使用Bash,但是shell不懂$'\t'你用什么shell和操作系统?
  • 我得到了和以前一样的结果。我在文件中给出了一个命令,我写了bash command.sh,结果也是一样的。我有 linux Mint。 $SHELL --version GNU bash, verze 4.4.20(1)-release (x86_64-pc-linux-gnu)
猜你喜欢
  • 2015-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-23
  • 2015-01-13
  • 2016-09-05
相关资源
最近更新 更多