zoukankan      html  css  js  c++  java
  • linux文件合并

    第一:两个文件的交集,并集
    前提条件:每个文件中不得有重复行
    1. 取出两个文件的并集(重复的行只保留一份)
    2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
    3. 删除交集,留下其他的行
    1. cat file1 file2 | sort | uniq > file3
    2. cat file1 file2 | sort | uniq -d > file3
    3. cat file1 file2 | sort | uniq -u > file3

    第一:两个文件的交集,并集
    前提条件:每个文件中不得有重复行
    1. 取出两个文件的并集(重复的行只保留一份)
    2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
    3. 删除交集,留下其他的行
    1. cat file1 file2 | sort | uniq > file3
    2. cat file1 file2 | sort | uniq -d > file3
    3. cat file1 file2 | sort | uniq -u > file3
    (-u unique,仅仅打印独一无二的行)。

    -d, --repeated
    only print duplicate lines


    第二:两个文件合并
    一个文件在上,一个文件在下
    cat file1 file2 > file3
    一个文件在左,一个文件在右
    paste file1 file2 > file3

    第三:一个文件去掉重复的行:
    sort file |uniq
    注意:重复的多行记为一行,也就是说这些重复的行还在,只是全部省略为一行!
    sort file |uniq -u
    上面的命令可以把重复的行全部去掉,也就是文件中的非重复行!

    具体细节可以查看,cat,sort,uniq等命令的详细介绍


    第二:两个文件合并
    一个文件在上,一个文件在下
    cat file1 file2 > file3
    一个文件在左,一个文件在右
    paste file1 file2 > file3

    paste连接时,用空格或tab键分隔新行中不同文本,除非指定-d选项,它将成为域分隔符。 
    paste格式为: 
    paste -d -s -file1 file2 
    选项含义如下: 
    -d 指定不同于空格或tab键的域分隔符。例如用@分隔域,使用- d @。 
    -s 将每个文件合并成行而不是按行粘贴。 (

    由默认的“并行输出”改为“串行输出”了,或者说由“并排”变为“横排”了!
     
    其实-s参数就是输出一行一个文件,有多少个文件就有多少行。原始每个文件里的每行内容都成为输出结果一行里的各个字段

    file1:

    user1 pwd1

    user2 pwd2

    file2:

    user3 pwd3

    user4 pwd4

     变成:

    use1 pwd1 user2 pwd2

    user3 pwd3 user4 pwd4

    )


    第三:一个文件去掉重复的行:
    sort file |uniq
    注意:重复的多行记为一行,也就是说这些重复的行还在,只是全部省略为一行!
    sort file |uniq -u
    上面的命令可以把重复的行全部去掉,也就是文件中的非重复行!

    具体细节可以查看,cat,sort,uniq等命令的详细介绍

  • 相关阅读:
    topcoder srm 320 div1
    topcoder srm 325 div1
    topcoder srm 330 div1
    topcoder srm 335 div1
    topcoder srm 340 div1
    topcoder srm 300 div1
    topcoder srm 305 div1
    topcoder srm 310 div1
    topcoder srm 315 div1
    如何统计iOS产品不同渠道的下载量?
  • 原文地址:https://www.cnblogs.com/youxin/p/3553118.html
Copyright © 2011-2022 走看看