编写一个脚本来比较两个目录中的文件,忽略与添加空行,空格,制表符相关的更改,并在excludeFiles中使用通配符,以排除不必要文件的比较。指定为参数的文件,记下这些文件的名称,它们的索引节点和创建日期。
我知道如何做第一部分(在点之前)。
diff -rwBd -X excludeFiles mydir1 mydir2 > changes.diff
但是不明白如何做第二部分“指定为参数的文件,记下这些文件的名称,它们的i节点和创建日期。”我想我需要使用ls ....
答案 0 :(得分:1)
您可以忽略diff输出(-q),获取文件名并使用ls表示inode(-i)和ctime(-c)
$ diff -rwBdq -X excludeFiles mydir1 mydir2 | awk '{print $2" "$4}' | xargs ls -lic
2415432 -rw-r--r-- 1 user group 4163 Nov 6 15:21 mydir1/file1
2415434 -rw-r--r-- 1 user group 1042 Nov 6 15:21 mydir2/file1
2415433 -rw-r--r-- 1 user group 4163 Nov 6 15:21 mydir1/file2
2415435 -rw-r--r-- 1 user group 1042 Nov 6 15:21 mydir2/file2