Interpréter une séquence d'échappement sur Gnu/Linux

Interpréter une séquence d'échappement sur Gnu/Linux - Shell/Batch - Programmation

Marsh Posté le 16-01-2013 à 20:31:20    

Bonjour, j'y connais rien en terminaux.
je cherche comment récupérer dans un fichier texte formaté par des séquences d'échappements , la sortie d'un programme qui génère le texte.
J'ai fait une simple redirection mon_prog > output.txt, mais la s'affiche comme ceci :

[;H

avec le caractère esc avant.

Reply

Marsh Posté le 16-01-2013 à 20:31:20   

Reply

Marsh Posté le 17-01-2013 à 12:05:17    

salut,
 
tu peux lire le fichier, ou en pipant la sortie du programme, avec `less -r' pour avoir un affichage correct.

Reply

Marsh Posté le 17-01-2013 à 18:10:58    

Merci watael.
 
Mais ça va pas parce que j'ai toujours le même problème.
C'est à dire que le fichier de sortie, n'est pas interprété.

Reply

Marsh Posté le 17-01-2013 à 18:26:25    

que veux-tu dire par «pas interprété» ?
quel programme ?
le caractère d'échappement fait-il effectivement un seul caractère  ?

Reply

Marsh Posté le 17-01-2013 à 18:35:01    

1) je retrouve avec une redirection comme "less -r output.txt > test.txt", avec les mêmes séquences d'échappement.
2)Mon programme.
3) ma foi esc est le caractère n°27 en décimal. C'est tout.


Message édité par Profil supprimé le 17-01-2013 à 18:36:48
Reply

Marsh Posté le 17-01-2013 à 19:09:53    

C'est les séquences d'échappement ansi d'un VT100: http://www.termsys.demon.co.uk/vtansi.htm

Citation :

Cursor Control
 
Cursor Home   <ESC>[{ROW};{COLUMN}H
 
    Sets the cursor position where subsequent text will begin. If no row/column parameters are provided (ie. <ESC>[;H), the cursor will move to the home position, at the upper left of the screen.


A+,


Message édité par gilou le 17-01-2013 à 19:10:39

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 17-01-2013 à 19:27:32    

Citation :

2)Mon programme.

alors réécris-le sans ces séquences d'échappement !
ou ajoute une option, de manière à choisir le type d'affichage souhaité,
 
ou selon que l'affichage se fait sur un terminal ou est redirigé.
 
en shell (parce que je ne fais pas de C), ce serait:

Code :
  1. test -t 1 && <affichage sur tty> || <affichage redirigé>


Message édité par Profil supprimé le 17-01-2013 à 19:31:54
Reply

Marsh Posté le 17-01-2013 à 19:34:10    

Comme le signale Gilou, je suis sur un VT100, y aurait pas un moyen de simuler un vt100 et de rediriger la sortie ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed