Извлечение информации в циклах из определенного столбца на основе списка ввода

Это, безусловно, возможно , так или иначе.

Я делаю это с файлом образа, двумя слоями файловой системы (ZFS )и одним слоем dm -crypt. Установку легко описать. :Поместите моментальный снимок -и транзакционную -устойчивую файловую систему в файл образа, поместите новый файл образа в эту файловую систему. Создайте зашифрованное блочное устройство этого файла с помощью cryptsetup. Создайте новую файловую систему на этом блочном устройстве и смонтируйте ее в удобном месте.

Теперь можно сделать моментальный снимок незашифрованной файловой системы и сохранить файл образа с зашифрованной файловой системой из этого моментального снимка.

Файловые системы должны быть -устойчивыми к транзакциям на случай, если моментальный снимок будет сделан в неудобное время. Незавершенные транзакции будут проигнорированы, и в результате должна получиться непротиворечивая версия файлов. Тем не менее, есть некоторые технические сложности с упорядочением, если обновляется несколько файлов (, которые я не могу объяснить ), поэтому база данных может быть расстроена результатом. Я думаю, что nilfs2 имеет параметр конфигурации для использования строгой синхронизации в этом случае, если это важно.

На практике существует множество сложных и -склонных к сбоям шагов по установке и удалению этого, поэтому рекомендуется использовать сложные и -устойчивые к сбоям сценарии с надлежащим тестированием того, что уже сделано/отменено. Я использую zfs, потому что он прост в управлении и упрощает эту задачу.

1
04.11.2020, 18:31
1 ответ

Ваша вторая попытка "сработает", если вы удалите посторонние цитаты:

for i in $(cat fileA); do awk -v i="$i" '$2==i' fileB; done    # but don't do this

Однако, если вы решили использовать цикл оболочки, лучше использоватьwhile:

while IFS= read -r i; do awk -v i="$i" '$2==i' fileB; done < fileA    # don't do this either

Лучше было бы вообще избегать цикла оболочки:

awk 'NR==FNR{a[$1]; next} $2 in a' fileA fileB

См. также:

3
18.03.2021, 22:52

Теги

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