создать параллельный gpg

С awk:

awk -F'\t' -v OFS='\t' '
  NR == 1 {for (i=1; i<=NF; i++) if ($i == "REF") refCol = i}
  refCol {for (i = refCol + 1; i <=NF; i++) $(i-1) = $i; NF--}
  1
' file.csv

Первая строка определяет, какой столбец является столбцом REF. Переменная refCol будет деинициализирована, если такого столбца нет.
Вторая строка удаляет столбец, если он был найден.
Третья строка выводит запись.

0
03.03.2021, 10:30
2 ответа

Пакет

tar --create --format=posix --preserve-permissions --same-owner --directory $BASE/$name --to-stdout. |
    parallel --pipe --recend '' --keep-order --block-size 128M "xz -9 --check=sha256 | gpg --encrypt --recipient $RECIPIENT;echo bLoCk EnD" |
    pv > $TARGET/$FILENAME

Распаковать

cat $TARGET/$FILENAME |
  parallel --pipe --recend 'bLoCk EnD\n' -N1 --keep-order --rrs 'gpg --decrypt | xz -d' |
  tar tv

-N1необходим, чтобы убедиться, что мы передаем по одной записи за раз. GnuPG не поддерживает расшифровку нескольких объединенных записей.

0
18.03.2021, 22:27

Спасибо за ваши предложения, Оле. Дальнейшее расследование показало, что узким местом является отложенная загрузка Amazon с S3. Мы прикрепили том ebs из моментального снимка. Это все еще медленно, нам удалось ускорить его с помощью fio.

echo "Инициализация файла начинается сейчас:date" FILES=$ (ls -d /mnt/database/files/database _*)эхо $ ФАЙЛЫ

для f в $FILES делать echo "Чтение файла $f" #Это останавливает любой вывод и позволяет продолжить процесс. sudo fio --opendir="$f" --rw=read --bs=128k --iodepth=32 --ioengine=libaio --direct=1 --name="$f" --openfiles=1000 >/dev/null 2>&1 &

выполнено

0
18.03.2021, 22:27

Теги

Похожие вопросы