マニフェストスクリプトを作成する方法

マニフェストスクリプトを作成する方法

次のディレクトリにファイルのリストがあります。

sales_01
product_01

私はこれらのファイルを同じディレクトリに暗号化しています。これで、次のファイルのリストがあります。

sales_01
product_01
sales_01.gpg
product_01.gpg

今私の問題は、この列を含むマニフェストファイルを作成する必要があるということです。二重引用符が表示されます。

"original_filename" "original_filesize" "encrypted_filesize" "md5sum(value of encrypted file)"

この問題を解決するのに役立ちます。

ベストアンサー1

あなたのファイル名に改行文字が含まれていないとします。

Linuxの場合:

#! /usr/bin/env bash
find /some/dir -type f -maxdepth 1 \! -name '*.gpg' | \
while read -r f; do
    esc=${f##*/}
    esc=${esc//\\/\\\\}
    esc=${esc//\"/\\\"}
    md5=$(md5sum "$f".gpg | awk '{print $1}')
    printf '"%s" "%d" "%d" "%s"\n' "$esc" $(stat -c %s "$f") $(stat -c %s "$f".gpg) "$md5"
done

*BSDから:

#! /bin/sh
find /some/dir -type f -maxdepth 1 \! -name '*.gpg' | \
while read -r f; do
    esc=$(printf '%s\n' "$f" | sed 's#.*/##; s/\([\\"]\)/\\\1/g')
    md5=$(md5 -q "$f".gpg)
    printf '"%s" "%d" "%d" "%s"\n' "$esc" $(stat -f %z "$f") $(stat -f %z "$f".gpg) "$md5"
done

おすすめ記事