gpt4 book ai didi

bash - ubuntu中的校验和bash脚本

转载 作者:行者123 更新时间:2023-12-04 18:58:46 25 4
gpt4 key购买 nike

我有两个文件名相同的文件夹。如何在 bash 中进行校验和以评估哪些文件不同或相同?目前,我在下面编写了一个 bash 脚本,它构建相应的文件名并对其执行“cksum”,每个校验和生成两个数字。但是我必须以某种方式为每条记录保存这两个数字并减去它们以查看哪个不匹配。

#!/bin/bash
folderOld="home/OldFiles/"
folderNew="home/NewFiles/"
for ((fileNumber=1;fileNumber<1000000;fileNumber++))
do
FileName="file${fileNumber}.dat"
OldFile=$folderOld$FileName
NewFile=$folderNew$FileName
cksum $OldFile
cksum $NewFile
done

最佳答案

如果您只需要知道文件是否不同,则无需计算校验和。使用diff :

#!/usr/bin/env bash

folderOld="home/OldFiles/"
folderNew="home/NewFiles/"
for ((fileNumber = 1; fileNumber < 1000000; fileNumber++)); do
FileName="file${fileNumber}.dat"
if diff -q "$folderOld$FileName" "$folderNew$FileName" >/dev/null; then
printf 'File %s is same in %s and %s\n' "$FileName" "$folderOld" "$folderNew"
else
printf 'File %s differs in %s and %s\n' "$FileName" "$folderOld" "$folderNew"
fi
done

关于bash - ubuntu中的校验和bash脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71500377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com