Вы можете попробовать с помощью sed:
sed '
:A
2,$ {
/[^"]\"$/! {
N
bA
}
s/\n//g
}
' infile
Захват в каждой строке от 2 до конца, если последний символ "
Если нет, получите новую строку и перезапустите цикл.
В конце цикла удалите все "\n".
LUKS — это лишь один из нескольких поддерживаемых cryptsetup
методов шифрования.
cryptsetup create
предназначен для простых устройств, не зашифрованных -LUKS. Как такового нет ни LUKS-заголовка, ни метаданных, ни спецификации шифров, ни деривации ключа/защиты от перебора.
Без заголовка метаданных cryptsetup
не может определить, какой режим шифрования использовать. Следовательно, вам более или менее нужно использовать полную команду, которая указывает все задействованные шифры вручную. Другие команды могли работать в прошлом (Я не могу проверить прямо сейчас ), но в целом в обычном режиме, если вы не укажете все в командной строке, вы полагаетесь на выбор по умолчанию и значения по умолчанию меняются со временем, поэтому это ненадежно.
Основная проблема, связанная с тем, что LUKS не используется (с настройками по умолчанию ), заключается в том, что легко выбрать неправильный шифр. Рассмотрите возможность резервного копирования и повторного -шифрования этих данных -с помощью LUKS, если вы хотите, чтобы простая команда открытия работала.