ファイルとその属性の比較

ファイルとその属性の比較

毎日私は以下の特定のファイルセットに関する情報をメールで受け取ります。

58623208 Sep 14 20:08 blbn_blfbe_drv
57904920 Sep 14 19:54 blbn_cycmn
55814208 Sep 14 06:02 clsa_Upd
38912000 Sep 14 19:12 cs_chgpp
41107456 Sep 14 19:17 csmRFbe
39403520 Sep 14 19:09 csmUAddAct
39235584 Sep 14 19:20 csmUAddSub

...など、約60個のファイルがあります。

これで、すべてのファイルを既存のファイルと1つずつ比較して、すべてが一致することを確認する必要があります。

filename、、、timestampおよびdatesize一致する必要があります。

これを自動化する方法はありますか?

commまたは使用を検討していますdiff

ベストアンサー1

次の-dオプションを含むGNU Dateがあるとします。

while read size mon day time filename; do
    if [[ ! -f "$filename" ]]; then
        echo "ERROR: no such file: $filename" >&2
    else
        filesize=$(stat -c %s "$filename")
        if [[ "$size" != "$filesize" ]]; then
            echo "ERROR: size mismatch: $filename" >&2
        else
            filetime=$(date -d "$(stat -c %y "$filename")" "+%b %d %H:%M")
            if [[ "$mon $day $time" != "$filetime" ]]; then
                echo "ERROR: date mismatch: $filename" >&2
            fi
        fi
    fi
done 

おすすめ記事