Каждый раз, когда НАЧАЛО
строка, отдельно прочтите следующую числовую строку из файла, используя отдельный дескриптор через getline
. Выведите каждую строку из файла с двумя префиксами: числовое значение, которое было получено ранее , и номер записи файла текущей записи (то есть все строки в одном блоке BEGIN .. END
заканчиваются тем же значением в префиксе 1, что соответствует номеру, встроенному в блок). Подайте это на внешние утилиты sort
и cut
для обработки сортировки на основе префиксов, после которой следует отбрасывать префиксы.
awk '/BEGIN/{"awk \\$0+0==\\$0 "FILENAME | getline x}
{print x"~"FNR"~"$0 | "sort -k1,1n -k2,2n -t~ | cut -f3- -d~"}' file
BEGIN
hello4
2
world5
END
BEGIN
hello6
4
END
BEGIN
hello2
5
world1
END
В настройках виртуальной машины в разделе «Аудио» переключите аудиоконтроллер с ICH AC97 на Intel HD Audio. Убедитесь, что установлен флажок «Включить аудиовыход».