Как многие двоичные файлы изменяют число процентов выполнения в нужном месте?

Для извлечения имени файла потребуется первая строка «Идентификатор»:

awk '
!/^ *$/         {BUF = BUF RS $0
                }

! FN  &&
/Identifier/    {FN = $NF ".txt"
                 gsub (/"/, "", FN)
                }
/END JOB/       {print BUF > FN
                 BUF = FN = ""
                }
' file

Он пропускает пустые строки, добавляет фактическую строку в буфер, создает имя файла в первом (FN пустом )вхождении «Идентификатор», удаляя все ", и печатает буфер в END JOB, сброс BUFи FNна пустое место.

0
06.01.2021, 19:06
1 ответ

Обычно это делается путем печати всей строки снова и снова, используя возврат каретки вместо перевода строки, чтобы вернуть курсор в начало строки, а не в следующую. Например,

for i in {0..20}; do
  printf "ETA %2.1ds [%-20.${i}s]\r" "$((20-i))" "####################"
  sleep 1
done
printf "\n"

Возврат каретки представлен \rво многих контекстах, вдохновленных C -.

Более сложные дисплеи обычно строятся с использованием библиотеки стилей curses -. Это то, как много полноэкранных -приложений «текстового -режима» обрабатывают свой вывод; см., например, Midnight Commander .

3
18.03.2021, 22:38

Теги

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