代码之家  ›  专栏  ›  技术社区  ›  nedned

在bash中将不同文件中的列压缩在一起

  •  17
  • nedned  · 技术社区  · 15 年前

    我有两个文件,都包含单词列表。是否有一种简单的方法可以将文件的内容压缩到bash中的一个新文件中,以便生成的文件有两列,如下所示:

        file1_line1 file2_line1
        file1_line2 file2_line2
        file1_line3 file2_line3
        file1_line4 file2_line4
    
    2 回复  |  直到 15 年前
        1
  •  25
  •   John Kugelman    15 年前

    名字

    paste --合并相应的或后续的文件行

    简介

    paste [-s] [-d list] file ...

    描述

    这个 粘贴 实用程序连接给定输入的相应行 文件,将除最后一个文件外的所有换行符替换为单个 制表符,并将结果行写入标准输出。

        2
  •  1
  •   Charles Ma    15 年前

    粘贴将使您到达一半的位置,但您需要SED将文件名附加到单词中。

    将它放入shell脚本并将两个文件作为参数传递给它

    #!/bin/sh
    paste $1 $2 | sed -e "s/^\([^ ]\+\)\s\+\([^ ]\)/$1_\1 $2_\2/"