web-dev-qa-db-fra.com

Sortie du terminal redirigée vers un fichier

Je redirige la sortie du terminal vers un fichier en utilisant:

Command > File.txt

mais le contenu du fichier se présente comme ceci:

enter image description here

Quel est le problème? Comment puis-je les faire paraître normal?

2
Adam

La commande que vous exécutez (minicom) utilise "Séquences d'échappement VT100" pour effectuer le positionnement du curseur.

Pour supprimer les caractères répertoriés ci-dessus, dirigez le fichier vers

sed -e 's/^[\[[0-9][0-9];[0-9][0-9]H//'
#         ^^ actual ESCape

J'ai eu l'Escape en tapant Ctrl-VEsc.

3
waltinator

Ce sont des séquences d'échappement de terminal, à interpréter par le pilote du terminal. Lorsque la sortie du programme est en cours de sauvegarde dans un fichier, le programme (minicom) vide également les séquences d'échappement de manière erronée sans vérifier où il se trouve dans STDOUT.

Pour supprimer les séquences d'échappement, utilisez sed pour supprimer les lignes contenant 23;80H, test:

sed '/23;80H/d' file.txt

Modification:

sed -i '/23;80H/d' file.txt

Si vous souhaitez conserver une sauvegarde avec une extension, par exemple .bak, faites:

sed -i.bak '/23;80H/d' file.txt
1
heemayl

Cela est dû au fait que vous n'avez pas défini le codage de caractères du fichier de sortie sur UTF-8 .

Si vous ne pouvez pas modifier les fichiers /etc/* ,

vous pouvez définir manuellement le menu gnome-terminal Terminal | Définir le codage des caractères to Unicode (Utf-8)

Réponse obtenue à partir de ce stackoverflow link

0
Piyush Patel