bash - 计算shell脚本中2个不同文件夹中具有相同内容的文件数量

标签 bash shell unix

我的 unix 中有 2 个文件夹,分别名为folderA 和folderB,各有5 个文件

FolderA              FolderB
file1                file1
file2                file2
file3                file3
file4                file4
file5                file5

Assume file1,file2 contents in both the folders are same

我需要输出为“这 2 个目录有 2 个内容相同的文件和 3 个内容不同的文件”

此外,两个目录中的文件名相同,并且两个目录中的文件数量也相同(没有特殊情况)。 我做了这样的事情

diff -U 0 /FolderA /FolderB | grep -v ^@ | wc -l

我得到的输出为 22,我认为这适用于所有文件中的所有差异。 不知何故,我需要获取每个文件的差异并写入 if 条件来获取计数。我对 Unix 相当陌生,所以无法弄清楚。

最佳答案

获取不同的文件

diff -qrs dir1 dir2 | grep differ | wc -l

获取相同的文件

diff -qrs dir1 dir2 | grep identical | wc -l

关于bash - 计算shell脚本中2个不同文件夹中具有相同内容的文件数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34250224/

相关文章:

bash - 在 bash 中用不同的 UUID 替换给定单词的每次出现的最简单方法

json - 遍历数组 : Cannot index array with string "<key>" 时出现 jq 错误

bash - 在 Linux 中在后台启动 weblogic 服务器

字节调用失败

linux - Bash 脚本 - 连接到远程服务器并获取结果

bash - 将文本文件中的行数输出到 Unix 中的屏幕

bash - 在 Unix 环境中,如何用与第四列字符串关联的第三列数字填充列?

linux - 将文件中读取的路径存储在变量中(脚本 shell)

macos - grep -P 不再有效。如何重写我的搜索?

linux - 解压缩连接两个 gzip 文件的结果是否总是等于以原始和解压缩形式连接两个文件的结果?