编写一个脚本来比较两个目录中的文件,忽略与添加空行、空格、制表符相关的更改,并在exclude files中使用通配符以从不必要文件的比较中排除。指定为参数的文件,记下这些文件的名称、它们的i节点和创建日期。
我知道如何做第一部分(点之前)。
diff -rwBd -X excludeFiles mydir1 mydir2 > changes.diff
但不明白如何做第二部分“指定为参数的文件,写下这些文件的名称、它们的i节点和创建日期”??我想我需要用ls。。。。
最佳答案
您可以忽略diff输出(-q)、获取文件名并对inode(-i)和ctime(-c)使用ls
$ 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
关于linux - bash 与差异一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26783053/