Suponho que seus nomes de arquivos não tenham novas linhas incorporadas.
No 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
Em * 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/\([\"]\)/\/g')
md5=$(md5 -q "$f".gpg)
printf '"%s" "%d" "%d" "%s"\n' "$esc" $(stat -f %z "$f") $(stat -f %z "$f".gpg) "$md5"
done