Je redirige la sortie du terminal vers un fichier en utilisant:
Command > File.txt
mais le contenu du fichier se présente comme ceci:
Quel est le problème? Comment puis-je les faire paraître normal?
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.
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
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