Awk, похоже, не понимает, что такое $1

nvm, я просто забыл поставить

    esac
done
9
24.11.2020, 18:53
1 ответ

Работая над описанием проблемы Стивеном , простым способом упростить обработку вывода было бы просто перевести все символы возврата каретки в новые строки, оставив вам отчет о ходе работы curl в виде набора отдельных строк., который затем можно использовать awkна:

$ for f in *.dl; do < "$f" tr '\r' '\n' | awk '$1 == "100" {print $0}' ; done
100  720k  100  720k    0     0  22.5M      0 --:--:-- --:--:-- --:--:-- 22.7M
100 23.6M  100 23.6M    0     0   372M      0 --:--:-- --:--:-- --:--:--  369M

(Однако, если curl округлить процент, который он печатает, до ближайшего целого числа, а не в меньшую сторону, огромные файлы могут отображать несколько строк с 100в первом столбце.)

С другой стороны, если известно, что файлы не содержат ничего, кроме вывода curl, то мы могли бы просто выбрать последнюю строку вместо просмотра содержимого:

$ for f in *.dl; do < "$f" tr '\r' '\n' | tail -n1  ; done
100  720k  100  720k    0     0  22.5M      0 --:--:-- --:--:-- --:--:-- 22.7M
100 23.6M  100 23.6M    0     0   372M      0 --:--:-- --:--:-- --:--:--  369M
4
18.03.2021, 22:47

Теги

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