精华内容
下载资源
问答
  • 在项目维护阶段,经常会对垃圾文件进行清理。比如没有在数据库中的文件进行删除,这个时候最好的选择就是使用shell命令了;...3.对比个文件的文件内容不同的部分,并且删除  #!/bin/sh #B...

    在项目维护阶段,经常会对垃圾文件进行清理。比如没有在数据库中的文件进行删除,这个时候最好的选择就是使用shell命令了;废话不多说直接上代码:

    1.首先准备好从数据表导出来的数据,方法随意

    2.在服务器查看指定目录下所有文件的文件名,并生成文件   

      ls *.* >***.txt

     

    3.对比两个文件的文件内容不同的部分,并且删除 

    #!/bin/sh
    #BEGIN
    cat test1.txt | sort | uniq | sort > a_u.txt
    cat test2.txt | sort | uniq | sort > b_u.txt
    #comm命令也可以
    diff a_u.txt b_u.txt > c.txt for x in ` awk '{print $2}' c.txt ` { rm -rf $x; } #echo filename # END

    此刻 大功告成!!!

     

    注意:请不要在window下边界shell文件,有可能出现编码问题造成文件名后缀出现?等乱码情况。

    转载于:https://www.cnblogs.com/hhwww/p/10824607.html

    展开全文
  • linux对比个文件的不同

    千次阅读 2018-01-23 22:40:34
    这就要找出两输出文件之间的差别——即在文件1中有而在文件2中没有部分,或者在文件2中有而在文件1中没有的部分。实现该功能,网上常见的有四种方法,不过在实际测试中发现有一种方法的结果是不准确的。即实际

    转自:http://www.361way.com/comm-diff-awk-file/2112.html

    最近在写一个对比/etc/dhcpd文件的配置IP和arp -n获取的IP比对的脚本。这就要找出两个输出文件之间的差别——即在文件1中有而在文件2中没有部分,或者在文件2中有而在文件1中没有的部分。实现该功能,网上常见的有四种方法,不过在实际测试中发现有一种方法的结果是不准确的。即实际上有三种常见方法可以实现。

    方法一:comm命令实现

    comm命令的参数

    -1   不显示只在第1个文件里出现过的列。
    -2   不显示只在第2个文件里出现过的列。
    -3   不显示只在第1和第2个文件里出现过的列。

    comm命令是一个非常简洁的命令,其只有两个参数。不过三个参数也结常要组合使用,我们常用的用法如下:

    comm - 12     就只显示在两个文件中都存在的行;
    comm - 23    只显示在第一个文件中出现而未在第二个文件中出现的行;
    comm - 123  则什么也不显示。

    comm找出文件2中有,文件1中没有的行:

    cat /etc/dhcpd.conf|grep "fixed-address"|grep -v ^#|awk '{print $NF}'|sed 's/;//g'|sort > /tmp/1.txt
    arp -n|grep ether|grep -v eth0|awk '{ print $1}'|sort >/tmp/2.txt
    comm -23 2.txt 1.txt

    注:两个文件的内容在比较前,一定要进行sort排序。不然输出的结果将是错误的

    方法二:diff命令比较

    diff命令是一个比较经典的文本比较工具了,diff命令较comm的参数要多。其经常和patch命令组合使用,进行补丁升级。其默认使用的是-a参数,即逐行比较两个文件之间的不同。此处我们要实现想要得到的结果,还需要配合grep和awk实用:

    diff 2.txt 1.txt |grep "<"|awk ' $1 = " " '

    注:此处也发现,在使用diff命令进行比较时,也需要预先对经比较的文件进行sort排序,不然输出的结果同样是不正确的

    方法三:awk实现

    awk应该算是shell常用命令中的泰山北斗了,几乎很多其他命令能完成的工作,awk都能完成(只不过有些写起来可能比较复杂)。本例中也不例外:

    awk 'NR==FNR{a[$0]++} NR>FNR&&!a[$0]' 1.txt 2.txt

    找出两个文件之间的相同部分可以使用

    awk 'NR==FNR{a[$0]++} NR>FNR&&a[$0]'  1.txt 2.txt

    下面的两个语句也可以换成:

    awk  'NR==FNR{a[$0]}NR>FNR{ if(!($1 in a)) print $0}' file1 file2 找出文件2中不同的值
    awk  'NR==FNR{a[$0]}NR>FNR{ if($1 in a)    print $0}' file1 file2 找出两文件中相同的值

    注:

    1、awk实现时,并不需要事先对两个文件进行sort排序,

    2、注意和上两个命令中两个文件的放置顺序是不同的。三种实现方法,文件的顺序一定颠倒,颠倒了,效果就刚好想反了,就变成找出文件1中有文件2中没有的行了。

    方法四:grep误人子弟法

    网上另外流传一个错误的方法,即通过grep命令实现:

    grep -v -f 1.txt 2.txt 

    经测试,无论我事先是否对两个文件进行sort倒序,此方法输出的结果,发现都是不正确的。也许grep也能实现该需求,只不过我使用的参数有问题。不过,如果有人能通过grep直接实现,还请不吝告知

    展开全文
  • 1、两个文件1.txt 2.txt内容如下所示 1.txt文件内容 2.txt文件内容 1 1 2 2 3 8 4 4 5 6 6 7 2、输入命令 diff 1.txt 2.txt 得到如下结果: 3c3 < 3 --- &g...

    1、两个文件1.txt    2.txt内容如下所示

     

    1.txt文件内容         2.txt文件内容
    1                    1
    2                    2
    3                    8
    4                    4 
    5                    6
    6                    7  

    2、输入命令

    diff 1.txt 2.txt

    得到如下结果:

    3c3
    < 3
    ---
    >8
    5d4
    < 5
    6a6
    > 7

    解释

    c:change修改

    d:delete删除

    a:add添加

    第一个文件变为第二个文件需采取的操作:

    第3列修改3为8

    第5列删除5

    第6列添加7

    参考文献

    https://www.cnblogs.com/wangqiguo/p/5793448.html

    展开全文
  • 个文件 F1 和F2 ,f1每一行:UserID::MovieID ;f2是UserID::MovieID 怎么把两个文件里面相同的USERID 升序输出到另一个文件
  • Linux对比文本文件

    2014-03-13 09:40:41
    语法:diff [选项] file1 file2 说明:该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用“- ”表示file1或fiie2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的...

    1. Without GUI

    1.1 diff

    diff可以比较2个文件夹

    语法:diff [选项] file1 file2 说明:该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用“- ”表示file1或fiie2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。例如: diff /usr/xu mine

    选项的含义如下:
    - b 忽略行尾的空格,而字符串中的一个或多个空格符都视为相等。
    如How are you与How are you被视为相同的字符串。
    - c 采用上下文输出格式(提供三行上下文)。
    - C n 采用上下文输出格式(提供n行上下文)。
    - e 产生一个合法的ed脚本作为输出。
    - r 当file1和file2是目录时,递归作用到各文件和目录上。

    1.2 comm

    语法:comm [- 123 ] file1 file2 说明:该命令是对两个已经排好序的文件进行比较。其中file1和file2是已排序的文件。comm读取这两个文件,然后生成三列输出:仅在file1中出现的行;仅在file2中出现的行;在两个文件中都存在的行。如果文件名用“- ”,则表示从标准输入读取。 comm -1 不显示只出现在第一个文件的行。 comm -2 不显示只出现在第二个文件的行。 comm -3 不显示同时出现在两个文件的行。 comm file1 file2 显示三列,第一列代表只出现在file1的行,第二列代表只出现在file2的行,第三列代表俩个文件同时出现的行 comm -12 显示两个文件同时出现的行 也就是交集 comm -13 显示只出现在第二个文件的行 comm -23 显示只出现在第一个文件的行

    1.3 colordiff

    在 Linux 下,使用 diff 命令可以对文件进行比较,从而了解其差异。不过,diff 命令的输出结果以同色显示,对于这种差异的表现可能不够强烈。好在我们还可以通过 ColorDiff 来加以改善。ColorDiff 是一个 Perl 脚本,它通过不同的颜色来高亮显示 diff 命令的输出结果,非常显眼。

    ColorDiff 适用于 Linux 及 BSD 系统,目前已被包含到 Debian、Ubuntu、Gentoo、Arch Linux、Fedora、FreeBSD 等发行版中。你可以从中直接加以安装。

    \

    2. With GUI

    由于没有GUI,diff和comm不是那么好用,下面推荐几个带GUI的软件。

    2.1 diffuse

    我一般都是用这个,很好用。也可以直接把内容粘贴到diffuse版面中,直接进行对比。

    可视化比较,非常直观。
    支持两相比较和三相比较。这就是说,使用 Diffuse 你可以同时比较两个或三个文本文件。
    支持常见的版本控制工具,包括 CVS、subversion、git、mercurial 等。你可以通过 Diffuse 直接从版本控制系统获取源代码,以便对其进行比较和合并。
    支持像 C++、Python、Java、XML 等语言的语法高亮显示。
    能够直接在 Diffuse 中编辑文件。
    支持 UTF-8 编码。
    可以使用快捷键轻松导航。

    \

    2.2 KDiff3

    KDiff3 是一款用来对文件或目录进行比较/合并的工具,在比较时它可以同时针对两个或者三个文件/目录而进行。通过比较,它将文件/目录的差异按行加以显示。同时,KDiff3 提供有自动化的合并工具,方便使用者进行有关合并的操作。

    此外,KDiff3 支持 Unicode 编码,集成了编辑器,可以自动合并版本控制历史。虽然 KDiff3 主要为 KDE 桌面而开发,但是仍然可以运行于其他的 Linux 环境。甚至对于 Windows、Mac OS X,KDiff3 也有相应的版本

    3. 参考文献

    [1] Linux文件比较命令 http://baike.baidu.com/link?url=Q_9aovjvvYNNbDY09eUlz5R0kBd1RC17GmmZ9YRJFth6naLrptqmna15V3qzXrrP

    [2] Linux下文件差异比较工具 http://blog.csdn.net/baozi1159/article/details/7572819

    展开全文
  • Linux 对比文本文件

    千次阅读 2014-01-21 15:01:46
    diff可以比较2个文件夹 语法:diff [选项] file1 file2 说明:该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用“- ”表示file1或fiie2,则表示标准输入。如果file1或file2是...
  • Linux vimdiff对比文件

    2018-03-27 17:33:31
    linux中对两个文件进行对比实用技巧: 1、 vimdiff file1 file2   终端下输入该命令进入vim,垂直分隔窗口进行比较   2、 vimdiff -o file1 file2 水平分隔窗口进行比较   3、 ctrl+w (j,k,h...
  • Linux 文件传输对比

    2019-07-31 22:15:59
    注意:收集了几种文件上传下载的方式,总结了下,以下是我个人使用中的对比。仅仅作为一参考。 1.yum install lrzsz(一般般) <<1 rz 上传 <<2 sz 文件名 下载 2.先断开服务器连接,然后在当前...
  • 在编码过程中,经常会用到文件对比功能。 Vim 包含了文件对比工具 vimdiff。用 vimdiff工具可以很容易实现文件对比。...vimdiff 可以同时进行 2 个以上文件的对比,但大多数情况下是进行两个文件对比。 ...
  • 这个作用是对比俩个相同的文件,或者多窗口查看同一个文件 1. 操作步骤 vim filename 先进入一个文件 在命令行输入":sp {filename}" 通过上边的那个命令即可显示一个文件的不同内容 2. vim多窗口时的简单...
  • 首先建立50万个文件 $ test for i in $(seq 1 500000);do echo text >>$i.txt;done 1. rm删除 $ time rm -f * zsh: sure you want to delete all the files in /home/hungerr/test [yn]? y zsh: argument list too...
  • linux文件之间的对比

    2020-01-09 10:47:29
    在做此实验时,首先复制一个passwd文件,改变其中一个文件,使两个文件不同。 import difflib filename1 = '/test/passwd' filename2 = '/test/passwd1' with open(filename1) as f1,open(filename2) as f2: ...
  • 个文件一行行对比,输出内容完全相同的行或者内容不同的行 方法 while遍历两文件行,并比较 for遍历两文件行,并比较 grep匹配 comm命令 while file1=$1 file2=$2 cat $file1 | while read lineb do cat $...
  • Meld是Linux软件,用户使用它可以比较2至3个文件并进行编辑,也可以比较2至3个文件夹并同时进行文件对比。在Fedora 25上安装Meld:#dnf install -y meld安装完成后即可启动使用。打开后可以看到,既可以对比文...
  • Linux对比文件,很好用的图形界面

    千次阅读 2014-03-14 17:08:31
    diff可以比较2个文件夹 语法:diff [选项] file1 file2 说明:该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用“- ”表示file1或fiie2,则表示标准输入。如果file1或file2是...
  • comm -1 A B 不显示在A文件中独有内容(显示B文件独有内容+两个文件共有) comm -2 A B 不显示在B文件中独有内容 comm -3 A B 不显示同时在两个文件中都存在的内容 comm -12 A B 显示A与B公共的部分 comm -23 A B 显示...
  • 在做此实验时,首先复制一个passwd文件,改变其中一个文件,使两个文件不同。 import difflib filename1 = '/tmp/passwd' filename2 = '/tmp/passwd1' with open(filename1) as f1,open(filename2) as f2: content...
  • Linux比较两个文件之间的不同

    万次阅读 2016-09-28 10:32:06
    这就要找出两输出文件之间的差别——即在文件1中有而在文件2中没有部分,或者在文件2中有而在文件1中没有的部分。实现该功能,网上常见的有四种方法,不过在实际测试中发现有一种方法的结果是不准确的。即实际
  • 目前Linux下常见的压缩文件扩展名: ... *.zip 一夸平台的文件打包程序,适用于Linux、windows和Mac OS系统; *.bz2 bzip2程序压缩的文件; *.gz gzip程序压缩的文件; *.tar tar程序打包的文件,并没有压缩;
  • 导读大家先看一下二命令,假如huge_dump.sql文件很大,然后猜测一下哪种导入方式效率会更高一些?# 命令1,管道导入shell> cat huge_dump.sql | mysql -uroot;# 命令2,重定向导入shell> mysql -uroot < ...
  • Linux系统编程——文件描述符的复制:dup()和dup2()

    万次阅读 多人点赞 2015-05-20 16:54:36
    dup() 和 dup2() 是两个非常有用的系统调用,都是用来复制一个文件的描述符,使新的文件描述符也标识旧的文件描述符所标识的文件。这个过程类似于现实生活中的配钥匙,钥匙相当于文件描述符,锁相当于文件,本来一个...
  • 菜鸟教程:https://www.runoob.com/linux/linux-comm-diff.html 直接比较: ..."|"表示前后2个文件内容有不同 "<"表示后面文件比前面文件少了1行内容 ">"表示后面文件比前面文件多了1行内容 ...
  • 应用场景: 代码和配置文件差异对比。 准备工作: 1. 两不同时间备份的Nginx配置文件 2. Pycharm集成化编程工具 配置文件内容差异对比的实现 实现代码及详解: import difflib # 1. 需要...
  • 刚在qq群里面一位仁兄问到文件压缩的命令,平时工作中大多用解压缩命令,要是遇到压缩就现查(这不是一好习惯),于是整理下Linux下创建与解压zip、tar、tar.gz和tar.bz2文件及他们之间压缩率对比,在自己的脑袋...
  • 1.1 WINDOWS/LINUX 对比 Windows: 以多根的方式组织文件 C:\ D:\ E: Linux: 以单根的方式组织文件"/" 路径:是由 “/”和目录和文件名称两部分组成。 1.2 简介 /目录结构: FSH (Filesystem Hierarchy ...
  • 目录 一.使用者与群组 1.文件拥有者 2.群组概念 3.其他人的概念 ...4.Linux用户身份与群组记录的文件 ...二.Linux文件权限概念 ...1.Linux文件属性 ...由于 Linux多人多任务的系统,因此可能常常会有多人同时

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 444
精华内容 177
关键字:

linux对比2个文件

linux 订阅