[英]Bash. Work with diff
编写脚本以比较两个目录中的文件,忽略与添加空行,空格,制表符相关的更改,并在excludeFiles中使用通配符,以将多余文件排除在比较之外。 指定为参数的文件,记下这些文件的名称,它们的索引节点和创建日期。
我知道如何做第一部分(之前)。
diff -rwBd -X excludeFiles mydir1 mydir2 > changes.diff
但是不知道如何做第二部分“将文件指定为参数,写下这些文件的名称,它们的i节点和创建日期。” 我想我需要使用ls...。
您可以忽略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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.