Иногда держатели ключей действительно подписывают нечеловеческие ключи «sig1» (например, ключи репо).
на странице руководства;
1 означает, что вы считаете, что ключ принадлежит человеку, который утверждает, что владеет им , но вы не могли или не проверяли ключ вообще. Это полезно для подтверждения личности, когда вы подписываете ключ псевдонимного пользователя.
Я считаю, что это может повысить ценность, поскольку эти подписи не используются для повышения доверия, они используются только для ручной проверки / подтверждения.
Проблема с кем-либо, подписывающим нечеловеческий / псевдонимный ключ, заключается в том, что мы не знаем, кто будет управлять ключом через ... время. Большинство людей не хотят подписываться по этой причине.
Кроме того, в настоящее время Fedora относительно быстро заменяет ключ и публикует новый отпечаток пальца на своем веб-сайте, и всем подписавшимся потребуется время, чтобы отозвать подписи.
Что может быть более практичным:
Но ... как уже было сказано, с подписью или без нее, отпечатки gpg ключей репо устанавливаются при установке ОС ... это проверяет все будущие обновления. Это добавляет мир безопасности.
Вы можете сделать что-то подобное в bash
командной строке:
printf '%s\n' {1..5025} | xargs -l -I {} -t./transeq xyz{} xyz{}.faa -table 11
Мы генерируем целые числа от 1 до 5025, по одному в строке, затем передаем их один -на -один в xargs, который инкапсулирует целое число в {}
, а затем трансплантирует его в команду./transeq линию соответствующим образом.
Если у вас нет средства расширения фигурной скобки -{n..m}
, вы можете вызвать утилиту seq
для создания этих числовых значений.
Или вы всегда можете эмулировать числовое генерирование с помощью:
yes | sed -n =\;5025q | xargs...
for file in xyz*
do
./transeq "$file" "${file}.faa" -table 11
done
Это простой цикл for
, который перебирает каждый файл, начинающийся с xyz
в текущем каталоге, и вызывает программу ./transeq
с именем файла в качестве первого аргумента, за именем файла следует ".faa" в качестве второго аргумента, за которым следует "-таблица 11".
Если вы устанавливаете GNU Parallel , вы можете сделать это параллельно следующим образом:
parallel./transeq {} {}.faa -table 11 ::: xyz*
Если ваша программа интенсивно использует ЦП, она должна немного ускориться.
Использование поиска полезно, когда ваши файлы разбросаны по каталогам
find -name "xyz*" -exec./transeq {} {}.faa -table 11 \;
Если предположить, что у вас более одного ядра, и каждый вызов может выполняться независимо от остальных, вы получите существенное ускорение при параллельном выполнении.
Относительно простой способ сделать это — использовать параметр -P
в xargs
-, например, если у вас 4 ядра:
echo xyz{1..5025} | \
xargs -n 1 -P 4 -I{} /path/to/transeq xyz{} xyz{}.faa -table 11
-n 1
указывает xargs
выбирать только один аргумент из списка для каждого вызова(по умолчанию будет передаваться много ), а -P 4
указывает запускать 4 процесса одновременно. время -когда один умирает, появляется новый.
ИМХО, вам не нужно устанавливать GNU parallel для этого простого случая-xargs
достаточно.
Вы можете использоватьxarg
ls | xargs -L 1 -d '\n' your-desired-command
-L 1
вызывает передачу по 1 элементу за раз
-d '\n'
сделать вывод ls
разделенным на основе новой строки.