剥离转义字符的ASCII文本(ls输出重定向)

Ste*_*ner 1 unix linux shell text escaping

我正在使用Mac ssh'ing进入无头RedHat盒子,我需要为下游程序创建一个文件列表来操作.

当我重定向输出时ls,创建的文件有一堆转义字符,而我的下游脚本无法正确读取文件名.当我创建cat文件时,一切看起来都很好:

sdt5z@franklin:~/cufflinks$ ls *.pbs
01_SL8426.pbs  03_SL8428.pbs  09_SL8891.pbs
02_SL8427.pbs  04_SL8429.pbs

sdt5z@franklin:~/cufflinks$ ls *.pbs > myfiles.txt

sdt5z@franklin:~/cufflinks$ cat myfiles.txt 
01_SL8426.pbs
02_SL8427.pbs
03_SL8428.pbs
04_SL8429.pbs
09_SL8891.pbs
Run Code Online (Sandbox Code Playgroud)

但是如果我在vim中打开文件,这就是它的样子(所有的小字符^[[^[终端模拟器中的字符都是蓝色的):

  1 ^[[0m^[[0m01_SL8426.pbs^[[0m
  2 ^[[0m02_SL8427.pbs^[[0m
  3 ^[[0m03_SL8428.pbs^[[0m
  4 ^[[0m04_SL8429.pbs^[[0m
  5 ^[[0m09_SL8891.pbs^[[0m
  6 ^[[m
~                                                                
~                                                                
~                                                                
~ 
Run Code Online (Sandbox Code Playgroud)

运行file命令显示此文件具有转义序列.

sdt5z@franklin:~/cufflinks$ file myfiles.txt 
myfiles.txt: ASCII text, with escape sequences
Run Code Online (Sandbox Code Playgroud)

我的问题是,我怎么能非常简单地将文件重定向到文件,没有任何转义字符?是什么原因造成这种情况?

谢谢.myfiles.txt:带有转义序列的ASCII文本

ido*_*ing 5

ls看起来像是' ls --color' 的别名.如果你取消它,你将不会得到任何着色,这是转义字符的来源. alias | grep ls会告诉你的.我留下了ls不带选择的东西,而是将某些东西称为l' ls --color -F'.