Я делаю эту команду для измерения использования оперативной памяти:
while sleep 1; do free && echo -e && ps -eo rss | awk '{sum+=$1} END {print sum}' && echo -e "\n"; done
Тем не менее, он по-прежнему печатает новые выходные данные вместо удаления / перезаписи последнего.
Цель состоит в том, чтобы сделать эту команду похожей на поведение top или htop.
Итак, вопрос: без написания сценария оболочки, как я могу сделать команду для обновления себя?
Я наткнулся на это: https://askubuntu.com/a/684887
Таким образом, printf "\033c"
работает, но проблема в том, что он ведет себя как сброс, который очищает весь терминал, кроме последнего вывода.
Кроме того, watch
тоже работают, но выход из них не сохранит последний вывод, как это делает top.
Есть ли способ смешать оба? Как имитировать поведение топа?
Top обновляется, не сбрасывая весь терминал, и сохраняет последний вывод при выходе из него.