удалить (очистить) из stdout последние 15 строк, nastr, 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' - тоже не представляю как можно тут применить.
|
- удалить (очистить) из stdout последние 15 строк, ДорогойДрук, 17:52 , 03-Мрт-12 (1)
команда clear очищает экран как результат, вывод будет всегда с начала экранаи согласно ТЗ - всегда на одном месте.
- удалить (очистить) из stdout последние 15 строк, nastr, 17:56 , 03-Мрт-12 (2)
> команда clear очищает экран > как результат, вывод будет всегда с начала экрана > и согласно ТЗ - всегда на одном месте.Спасибо за ответ, я рассмотрю clear, как вариант, если других вариантов не будет. Но хотелось бы именно удалять уже напечатанное и печатать на том же месте, как это сделано с помощью echo в моем первом примере. Может это возможно сделать как-то через параметры терминала или через /dev/stdout
- удалить (очистить) из stdout последние 15 строк, тень_pavel_simple, 16:09 , 04-Мрт-12 (4)
>[оверквотинг удален] > 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
- удалить (очистить) из stdout последние 15 строк, LSTemp, 06:28 , 07-Мрт-12 (6)
>[оверквотинг удален] > 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-команды.
|