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等命令的详细介绍

  • 相关阅读:
    Death Race
    中国队吃中药了?
    (zt)让我们相亲相爱一百年不动摇
    Subversion & Arfa Karim Randhawa
    要是有时间的话……
    (zt)山王
    (zt)东方红
    Oracle 备份 与 恢复 概述
    Solaris 网络 配置
    RAID 磁盘阵列 详解
  • 原文地址:https://www.cnblogs.com/youxin/p/3553118.html
Copyright © 2011-2022 走看看