2017-08-25 2 views
0

Ich habe einen Code, der die Ausgabe eines Befehls Mails:Sonderzeichen aus mailx Ausgabe entfernen

File2=`ls -lrt ABC.LOG* |grep "Aug 24" |awk '{print $9}'` 
File3=`ls -lrt abc.LOG* |grep "Aug 24" |awk '{print $9}'` 

echo "Below are logs : \n \n `tail $File2` \n \n `tail $File3`" |mailx -s "Deatils" [email protected] 

Aber in der Ausgabe einige Sonderzeichen wie „[0m“ Ich bin immer und „[31m ". Ich muss verstehen, was diese Charaktere sind und wie kann ich es loswerden?

Unten finden Sie die Ausgabe:

Details found. file available is filex_23647.csv 
[0m 
duration : 13 (seconds) 
[31m 
------ Process finished ------[0m 

Irgendwelche Vorschläge?

+0

Diese scheinen [ANSI-Escape-Codes] zu sein (https://en.wikipedia.org/wiki/ANSI_escape_code). – jwodder

Antwort

1

Diese Sequenzen sind ANSI-Farbcodes. Sie könnten von ls oder grep kommen. Vielleicht haben Sie Aliase für sie, die Farben verwenden. Um explizit zu sein, können Sie beide die --color=never Option übergeben.

ls --color=never ... | grep --color=never ... 
+0

Danke für die Antwort, aber ich bekomme Fehler: 'grep: illegale Option - - grep: illegale Option - o grep: illegale Option - o' – User123

+0

bekam eine Antwort:' perl -pe 's/\ e \ [?. *? [\ @ - ~] // g'' – User123

Verwandte Themen