Существует ли способ выключить цвет при использовании сценария (1)? Мой файл сценария заполнен ненужной информацией относительно цветов от команд, таких как ls. Эта информация только видима при использовании текстовых редакторов, таких как энергия и возможно gedit. Я не надеюсь делать поиск и замену, а скорее останавливаю проблему, прежде чем это произойдет. Существует ли способ удалить символы перевода строки ^M по умолчанию также?
Я включал демонстрационный файл сценария:
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
Это - то, что я ищу:
$ 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
По крайней мере, для ls, можно использовать
ls --color=never
Я протестировал, но понял, что должен буду разыскать все возможные источники цвета как команды, сама командная строка, и т.д. Это - фильтр sed от commandlinefu.com , который работает отлично, если Вы передаете что-нибудь по каналу через него. Конечно, можно сохранить вывод, однажды переданный по каналу как это:
cat test.txt | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" > new-test.txt