.png)
有沒有辦法在使用 script(1) 時關閉顏色?我的腳本檔案中填入了有關 ls 等命令的顏色的不必要資訊。此資訊僅在使用 vim 和 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
答案1
至少對於 ls,你可以使用
ls --color=never
答案2
我進行了測試,但意識到我需要追蹤所有可能的顏色來源,例如命令、命令提示字元本身等。命令列fu.com如果你透過它輸送任何東西,效果會很好。當然,您可以像這樣保存一次管道輸出:
cat test.txt | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" > new-test.txt