在ubuntu12.04添加文件对比工具

来源:互联网 发布:python视频教程 知乎 编辑:程序博客网 时间:2024/04/25 14:00

在linux下meld对比工具相对来说是很好用的代码对比工具,但是如果从 “应用程序>编程 ” 里启动meld来对比代码时,每次启动时选择对比的文件都是从根目录下去选,(即home目录下)这样每次从根目录下去选择要对比的文件很麻烦。要想不用从根目录下去先则要对比的文件可以将meld添加到右键的快捷方式里,在ubuntu里将meld添加到右键的方法如下:

1、创建一个shell脚本,这里把它起名为nautilus.sh

2、编写脚本

脚本名:compare.sh

#! /bin/bashmeld $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS

(变量NAUTILUS_SCRIPT_SELECTED_FILE_PATHS是nautilus的一个变量该变量会在鼠标选择一个文件是记录下这个文件的

解决路径。还有几个变量介绍一下 NAUTILUS_SCRIPT_CURRENT_URI #当前位置
NAUTILUS_SCRIPT_WINDOW_GEOMETRY 当前窗口的位置和大小
NAUTILUS_SCRIPT_SELECTED_URIS 所选文件的新行分割)

保存推出

3、将这个脚本加上可执行权限 chmod 755 nautiles.sh 然后放到~/.gnome/nautilus-scripts/目录下即可

使用方法:

按住Ctrl建鼠标选择两个要对比的文件,然后点击右键会有“脚本”两个字。点击后会出现你的脚本的名字和打开脚本文件夹两选项,点击那个脚本的名字运行脚本就可以了。

这是个非常简单的脚本,你可一自己添加功能,比如先检测你系统上有没有安装meld工具,如果没有可以自动安装,还可以去判断你选择的文件是不是个压缩包。如果是可以先将其解压按后在再去对比,出错是用zenity 命令提示出错的信息。这里不详细介绍了,只是提供一个思路而已。


上面的方法要同时选择两个文件,我们可以先选择一个文件,然后在选择另一个文件再进行比较,代码如下:

选择第一个文件的脚本:

脚本名:select_for_compare.sh

#!/bin/bashquoted=$(echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | sed -e "s/\n/ /g")echo "$quoted" > $HOME/.meld/nautilus

第二个进行比较的脚本:

脚本名:compare_to_select.sh

#!/bin/basharg1=$(cat $HOME/.meld/nautilus)arg2=$(echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | sed -e "s/\n/ /g")if [ "$(arg1)" -eq "0" ];thenzenity --info --text "No files Selected!"exit 1fimeld $arg1 $arg2

注:首先要在主目录下即$HOME目录下创建一个.meld目录(注意名称前面有个点)


将这两个脚本加上可执行权限,然后放到~/.gnome2/nautilus-scripts/目录下即可

快去试试把!!!


原创粉丝点击