.png)
¿Hay alguna manera de desactivar el color mientras se usa script(1)? Mi archivo de script está lleno de información innecesaria sobre los colores de comandos como ls. Esta información sólo es visible cuando se utilizan editores de texto como vim y posiblemente gedit. No busco hacer una búsqueda y reemplazar, sino detener el problema antes de que suceda. ¿Hay alguna forma de eliminar también los caracteres de avance de línea ^M de forma predeterminada?
He incluido un archivo de script de muestra:
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
Esto es lo que estoy buscando:
$ 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
Respuesta1
Al menos para ls, puedes usar
ls --color=never
Respuesta2
Lo probé pero me di cuenta de que necesitaría rastrear todas las fuentes posibles de color, como comandos, el símbolo del sistema en sí, etc. Este es un filtro sed delíneacomandofu.comeso funciona muy bien si pasas algo a través de él. Por supuesto, puedes guardar el resultado una vez canalizado de esta manera:
cat test.txt | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" > new-test.txt