Я предлагаю использовать awk в режиме абзаца, например
awk 'NR==FNR {
sub(/_[^_]*$/,"",$1); a[$1]++; next
}
{
for (x in a) {
if ($0 ~ "PDB; "x) {print; break;}
}
}' file2 RS= file1
Пример:
$ awk 'NR==FNR {sub(/_[^_]*$/,"",$1); a[$1]++; next} {for (x in a) {if ($0 ~ "PDB; "x) {print; break;}}}' file2 RS= file1
3LKB_BUNMU Bungarus multicinctus P01398 PDB; 1KBA; X-ray; 2.30 A; A/B=22-87.
PDB; 2NBT; NMR; -; A/B=22-87.
3NOJ_BUNCA Bungarus candidus P81782 PDB; 1F94; X-ray; 0.97 A; A=1-63.
PDB; 1IJC; NMR; -; A=1-63.
Если вы хотите, чтобы пустая line после каждого блока, вы можете изменить {print; break;} на {print $0"\n"; break;} или {printf "%s\n\n", $0; break}, хотя обратите внимание, что после последней записи будет добавлена конечная пустая строка, где, возможно, не было одной из них - если у вас есть GNU awk (gawk ]), вы можете избежать этого, обратившись к специальной переменной RT, которая содержит фактический разделитель для каждой записи, т.е. {printf "%s%s", $0, RT; break;}
Соответствующая последовательность системных запросов для перезагрузки аналогична.
O 'Off' заменяется на B 'Boot'.
Нажимайте одновременно клавиши alt и PrintScreen и одну из клавиш REISUO один за другим.Нажимайте одновременно клавиши alt и PrintScreen и одну из клавиш REISUO медленно.
Если это ноутбук, вам также может потребоваться нажать клавишу Fn, например так: Нажмите три клавиши Fn и alt и клавиши PrintScreen все время и одну из клавиш REISUO один за другим медленно.на ноутбуке, возможно, три клавиши Fn и alt и PrintScreen все время
Для получения более подробной информации см. следующие ссылки,
Перезапустите Ubuntu с клавиатуры
Соответствующая последовательность системных запросов для перезагрузки аналогична.
O 'Off' заменяется на B 'Boot'.
Нажимайте одновременно клавиши alt и PrintScreen и одну из клавиш REISUO один за другим.Нажимайте одновременно клавиши alt и PrintScreen и одну из клавиш REISUO медленно.
Если это ноутбук, вам также может потребоваться нажать клавишу Fn, например так: Нажмите три клавиши Fn и alt и клавиши PrintScreen все время и одну из клавиш REISUO один за другим медленно.на ноутбуке, возможно, три клавиши Fn и alt и PrintScreen все время
Для получения более подробной информации см. следующие ссылки,
Перезапустите Ubuntu с клавиатуры
Соответствующая последовательность системных запросов для перезагрузки аналогична.
O 'Off' заменяется на B 'Boot'.
Нажимайте одновременно клавиши alt и PrintScreen и одну из клавиш REISUO один за другим.Нажимайте одновременно клавиши alt и PrintScreen и одну из клавиш REISUO медленно.
Если это ноутбук, вам также может потребоваться нажать клавишу Fn, например так: Нажмите три клавиши Fn и alt и клавиши PrintScreen все время и одну из клавиш REISUO один за другим медленно.на ноутбуке, возможно, три клавиши Fn и alt и PrintScreen все время
Для получения более подробной информации см. следующие ссылки,
Перезапустите Ubuntu с клавиатуры
Попробуйте использовать это в терминале
init 0
Попробуйте использовать это в терминале
init 0
Попробуйте использовать это в терминале
init 0