.png)
Gibt es eine Möglichkeit, die Farbe während der Verwendung von script(1) auszuschalten? Meine Skriptdatei wird mit unnötigen Informationen zu Farben aus Befehlen wie ls gefüllt. Diese Informationen sind nur sichtbar, wenn Texteditoren wie vim und wohl auch gedit verwendet werden. Ich möchte kein Suchen und Ersetzen durchführen, sondern das Problem stoppen, bevor es auftritt. Gibt es eine Möglichkeit, auch die Zeilenvorschubzeichen ^M standardmäßig zu entfernen?
Ich habe eine Beispiel-Skriptdatei beigefügt:
Script started on Mon 05 May 2014 10:58:33 PM ADT
^M^M
$ ls^M
^[[0m^[[01;34mBin^[[0m ^[[01;34mDesktop^[[0m ^[[01;34mDocuments^[[0m ^[[01;34mDownloads^[[0m examples.desktop ^[[01;34mMusic^[[0m ^[[01;34mPictures^[ [0m ^[[01;34mPublic^[[0m ^[[01;34mTemplates^[[0m test.txt ^[[01;34mVideos^[[0m^M
^M^M
$ exit^M
exit^M
Script done on Mon 05 May 2014 10:58:50 PM ADT
Das ist, was ich suche:
$ script test.txt
Script started, file is test.txt
$ ls
Bin Desktop Documents Downloads examples.desktop Music Pictures Public Templates test.txt Videos
$ exit
exit
Script done, file is test.txt
Antwort1
Zumindest für ls können Sie verwenden
ls --color=never
Antwort2
Ich habe es getestet, aber festgestellt, dass ich alle möglichen Farbquellen wie Befehle, die Eingabeaufforderung selbst usw. aufspüren muss. Dies ist ein Sed-Filter voncommandlinefu.comdas funktioniert hervorragend, wenn Sie alles durchleiten. Natürlich können Sie die Ausgabe auch speichern, nachdem sie wie folgt weitergeleitet wurde:
cat test.txt | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" > new-test.txt