Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Jakub 22. 07. 2014, 11:53:21

Název: Smazání terminálu od pozice kurzoru
Přispěvatel: Jakub 22. 07. 2014, 11:53:21
Ahoj, poradí někdo jak od aktuální pozice kurzoru v terminálu můžu smazat všechno až dolů, nemyslím jen do konce řádku ale ař dolů na konec terminálu. Příkaz clear nehledám, ten maže celou obrazovku. Díky
Název: Re:Jak smazat terminál od aktuální pozice kurzoru
Přispěvatel: belzebub 22. 07. 2014, 18:19:09
Obavam se, ze se mozna ptate na neco jineho, nez co skutecne chcete. Minimalne by stalo za to upresnit, o jaky terminal se jedna, ale ja tak trochu tipuji, ze se vubec nejedna o terminal, ale nejaky program v terminalu pusteny. Pri normalni praci s "normalnimi" terminaly je totiz mozne editovat pouze jednu radku, a to prikazovou radku. Ta se sice pri delsim prikazu muze zalomit a byt tak zobrazena pres vice radek, ale z hlediska terminalu se stale jedna o jednu radku, takze smazani az na konec textu je ekvivalentni prikazu na smazani do konce radku - coz napr. pro bash je CTRL-K. To ale asi neni to co chcete. Takze byste mel trochu rozvest co delate, v cem to delate a proc to potrebujete.
Název: Re:Jak smazat terminál od aktuální pozice kurzoru
Přispěvatel: David1234 22. 07. 2014, 22:52:56
Nemyslíš náhodou CTRL-L?
Název: Re:Smazání terminálu od pozice kurzoru
Přispěvatel: Ales Hakl 22. 07. 2014, 23:44:17
Pro rozumne terminaly:
Kód: [Vybrat]
echo -ne "\033[J"
(Presneji CSI n J, kde n je 0 - od kurzoru do konce, 1 - od zacatku ke kurzoru, 2 - celou obrazovku)

V terminfo je "smazat do konce terminalu" capability clr_eos, resp. ed, pro termcap cd. Takze cisteji a obecneji lze take:
Kód: [Vybrat]
tput ed(pripadne tput cd pokud tput bere nazvy dle termcap, jako na *BSD)

Druha vec je, proc tohle vlastne chcete, protoze interaktivni vyuziti ani rozumne pouziti ve skriptu me prilis nenapada.