The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"удалить (очистить) из stdout последние 15 строк"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"удалить (очистить) из stdout последние 15 строк"  +/
Сообщение от nastr (??) on 03-Мрт-12, 17:34 
У echo есть возможность удалять одну строку из stdout и получается, что если у меня команда выдает одну строку, то я могу делать вывод этой команды постоянно в одной строке, к примеру:
while true;do echo -en "`admin_powerpc -F 192.168.1.208:11 -Q|awk '{if(index($0,"BPS")){print $NF " Byte\t" $NF*8 " bits\t" $NF*8/1024 " Kbit\t" $NF*8/1024/1024 " Mbit"}}'`\r";sleep 5;done
получаю:
55392505 Byte   443140040 bits  432754 Kbit     422.611 Mbit

Вопрос:
если результат команды, не одна строка, а например 15, возможно ли каким-то образом удалить (очистить) из stdout последние 15 строк, что бы результат выполнения команды выводился на том же месте?
Пример:
while true; do echo -en "`admin_powerpc -F 192.168.1.202:11 -Q|tail -15`\r\r\r\r";sleep 3;done
Такой вариант удаляет только одну строку.
sed '1,10d' - тоже не представляю как можно тут применить.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "удалить (очистить) из stdout последние 15 строк"  +/
Сообщение от ДорогойДрук on 03-Мрт-12, 17:52 
команда clear очищает экран
как результат, вывод будет всегда с начала экрана

и согласно ТЗ - всегда на одном месте.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "удалить (очистить) из stdout последние 15 строк"  +/
Сообщение от nastr (??) on 03-Мрт-12, 17:56 
> команда clear очищает экран
> как результат, вывод будет всегда с начала экрана
> и согласно ТЗ - всегда на одном месте.

Спасибо за ответ, я рассмотрю clear, как вариант, если других вариантов не будет.
Но хотелось бы именно удалять уже напечатанное и печатать на том же месте, как это сделано с помощью echo в моем первом примере.
Может это возможно сделать как-то через параметры терминала или через /dev/stdout

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "удалить (очистить) из stdout последние 15 строк"  +/
Сообщение от nastr (??) on 03-Мрт-12, 19:38 
В идеале вывод должен быть похож на команду top


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "удалить (очистить) из stdout последние 15 строк"  +/
Сообщение от тень_pavel_simple on 04-Мрт-12, 16:09 
>[оверквотинг удален]
>  422.611 Mbit
> Вопрос:
> если результат команды, не одна строка, а например 15, возможно ли каким-то
> образом удалить (очистить) из stdout последние 15 строк, что бы результат
> выполнения команды выводился на том же месте?
> Пример:
> while true; do echo -en "`admin_powerpc -F 192.168.1.202:11 -Q|tail -15`\r\r\r\r";sleep
> 3;done
> Такой вариант удаляет только одну строку.
> sed '1,10d' - тоже не представляю как можно тут применить.

http://lmgtfy.com/?q=linux+terminal+cursor+position+ansi

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "удалить (очистить) из stdout последние 15 строк"  +/
Сообщение от nastr (??) on 04-Мрт-12, 19:50 
огромное спасибо!
решение: echo -e "\033[16A"
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "удалить (очистить) из stdout последние 15 строк"  +/
Сообщение от LSTemp (ok) on 07-Мрт-12, 06:28 
>[оверквотинг удален]
>  422.611 Mbit
> Вопрос:
> если результат команды, не одна строка, а например 15, возможно ли каким-то
> образом удалить (очистить) из stdout последние 15 строк, что бы результат
> выполнения команды выводился на том же месте?
> Пример:
> while true; do echo -en "`admin_powerpc -F 192.168.1.202:11 -Q|tail -15`\r\r\r\r";sleep
> 3;done
> Такой вариант удаляет только одну строку.
> sed '1,10d' - тоже не представляю как можно тут применить.

esc-команды.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру