在 vi/vim 中水平连接文件内容

在 vi/vim 中水平连接文件内容

我有一个包含一个大矩阵的文本文件,该矩阵的列被分割,如下例所示:

     col1 col2 col3
row1  ..   ..   .. 
row2  ..   ..   ..
row3  ..   ..   ..
row4  ..   ..   ..
row5  ..   ..   ..
row6  ..   ..   ..

     col4 col5 col6
row1  ..   ..   .. 
row2  ..   ..   ..
row3  ..   ..   ..
row4  ..   ..   ..
row5  ..   ..   ..
row6  ..   ..   ..

如何水平连接分割的列,以便文件可以是这样的:

     col1 col2 col3 col4 col5 col6
row1  ..   ..   ..   ..   ..   .. 
row2  ..   ..   ..   ..   ..   .. 
row3  ..   ..   ..   ..   ..   .. 
row4  ..   ..   ..   ..   ..   .. 
row5  ..   ..   ..   ..   ..   .. 
row6  ..   ..   ..   ..   ..   .. 

答案1

您想要的是“逐块视觉模式”,请参阅:h ctrl-v。这里是重现的步骤:

  • 将光标移至前一列col4
  • Ctrl+V
  • 一直往下走:G
  • 标记到列的末尾:$
  • 删除列:d
  • 转到结尾col3g g $
  • 粘贴列:p

答案2

paste FILE1.txt FILE2.txt

我需要知道 row1、row2 等是值还是只是为了定向?如果它们有价值的话应该是这样的:

cut -b 5- FILE2.txt | paste FILE1.txt -

相关内容