как создать скрипт манифеста

У меня есть список файлов в каталоге, например

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)" 

Пожалуйста, помогите мне решить эту проблему.

  • Сравнить 2 столбца в 2 разных файлах
  • Добавьте строку в файл с awk, вызванным из bash
  • В чем разница между печатью и головой?
  • Точная разница между данными строк в двух файлах в Linux
  • Объединение двух файлов, по одному столбцу за раз
  • Удалить строки, которые соответствуют точно и только строке
  • Найти пустой тег в `xml` с помощью команды Unix
  • Самый простой способ получить список каталогов с количеством и размером файла
  • 2 Solutions collect form web for “как создать скрипт манифеста”

    Ну, это не очень красиво, но это должно сработать.

     for i in $(ls | cut -d. -f1 | uniq); do if [ -f $i.gpg ]; then base_size=$(ls -al $i| cut -d" " -f5); gpg_size=$( ls -al $i.gpg| cut -d" " -f5); md5_sum=$(md5sum $i.gpg | awk '{ print $1 }') ; echo $i $base_size $gpg_size $md5; fi; done 

    Я предполагаю, что ваши имена файлов не имеют встроенных строк перевода.

    В Linux:

     #! /usr/bin/env bash find /some/dir -type f -maxdepth 1 \! -name '*.gpg' | \ while read -rf; 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 

    On * BSD:

     #! /bin/sh find /some/dir -type f -maxdepth 1 \! -name '*.gpg' | \ while read -rf; 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 
    Linux и Unix - лучшая ОС в мире.