linux下paste、diff、meld的使用

linux下paste、diff、meld的使用


   非常实用的几个小命令,可用于对文件、目录进行处理。

paste 逐行合并两个文件

   -d 指定两个文件合并后每行之间的分隔符,如:

       -d " "     以空格作为行之间的分隔符。

       -d "\t"    以tab键作为行之间的分隔符。

       -d "任意字符"    以"任意字符"作为行之间的分隔符。

   -s paste one file at a time instead of in parallel

   将合并后的行导入新文件中:

   paste -d " " a b > c


例如:

[root@localhost aaa]# more a
1
2
3
[root@localhost aaa]# more b
a
b
c
[root@localhost aaa]# paste a b
1   a
2   b
3   c
[root@localhost aaa]# paste -d " " a b
1 a
2 b
3 c
[root@localhost aaa]# paste -d ":" a b
1:a
2:b
3:c
[root@localhost aaa]# paste -s a b
1   2   3
a   b   c


diff 逐行比较文件的不同

[root@localhost aaa]# diff a b
1,3c1,3
< 1
< 2
< 3
---
> a
> b
> c

   其中1,3表示行号1-3,c表示修改,即不同。常用的还有:

   a表示多余的行;d表示删除的行,即少的行。

   以"<"开头的行属于第一个文件,以">"开头的行属于第二个文件。

   diff也可比较目录的不同,但是不太方便。

   

   diff有一个"-c"选项会以上下文的形式显示两个文件的不同之处,文件时间不同也会进行比较,行中不同的地方会在此行前加"!":

[root@localhost aaa]# diff -c a b
*** a   2013-11-06 13:39:31.000000000 +0800
--- b   2013-11-06 15:11:04.000000000 +0800
***************
*** 1,3 ****
! 1
! 2
! 3
--- 1,3 ----
! a
! b
! c



meld 常用于比较目录中的文件的不同,会将目录中多余的文件和不同的文件都显示出来,比较容易观察。

   如果机器上没有此命令,那么需要安装meld,centos上可以配好yum后直接"yum install meld";ubuntu上可以直接"aptitude install meld"安装。安装好之后在命令行上输入meld,会生成一个图形界面,点击file->new,可以比较文件、目录、版本的不同。如下:

133739588.png

点击Directory Comparsion后输入两个目录的路径进行比较:

134239425.png


结果非常容易分辨,划横线的表示多的,文件内容不一样的也会高亮显示出来。

134444824.png


本文出自 “阿三哥” 博客,谢绝转载!

你可能感兴趣的:(linux,使用,Meld,diff,paste)