Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux ls命令中的额外转义字符使生活变得艰难_Linux_Ls_Ansi Escape - Fatal编程技术网

Linux ls命令中的额外转义字符使生活变得艰难

Linux ls命令中的额外转义字符使生活变得艰难,linux,ls,ansi-escape,Linux,Ls,Ansi Escape,我想发出一个简单的ls命令并将结果存储在一个文件中: ls-ltr equ*>ffile 文件名显示时附加了额外的转义字符。这些在一些实用程序(如vi)中很明显地出现,而在其他工具(如more)中则完全没有。例如: -rw------- 1 me 9607LPET 72680 Apr 10 12:00 ^[[0m^[[00mequ_00020.dat^[[0m -rw------- 1 me 9607LPET 72680 Apr 10 12:00 ^[[00mequ_00021.dat^[[

我想发出一个简单的ls命令并将结果存储在一个文件中:

ls-ltr equ*>ffile

文件名显示时附加了额外的转义字符。这些在一些实用程序(如vi)中很明显地出现,而在其他工具(如more)中则完全没有。例如:

-rw------- 1 me 9607LPET  72680 Apr 10 12:00 ^[[0m^[[00mequ_00020.dat^[[0m
-rw------- 1 me 9607LPET  72680 Apr 10 12:00 ^[[00mequ_00021.dat^[[0m
-rw------- 1 me 9607LPET 356110 Apr 10 12:00 ^[[00mequ_00065.dat^[[0m
-rw------- 1 me 9607LPET  60253 Apr 10 12:00 ^[[00mequ_00067.dat^[[0m
-rw------- 1 me 9607LPET  83656 Apr 10 12:00 ^[[00mequ_00068.dat^[[0m
无论如何,这些字符几乎可以被我用来处理这个文件列表的任何工具检测到。他们使得处理文件名变得非常困难。 我怎样才能摆脱它们?他们在那里干什么


编辑:此问题已被标记为另一个问题的副本,该问题还涉及去除ls输出中的颜色。然而,我坚持认为去除颜色是解决两个截然不同问题的唯一方法。另一个问题首先是关于颜色的。这个不是。用户可能会遇到我刚才遇到的问题,但仍然不知道他应该考虑ls输出中涉及颜色的其他问题。一、 当然,他是这些用户之一。因此,我坚持认为,这不是另一个问题的正确重复,这个问题应该作为一个关于一个独特问题的独特问题保留,因为事实上这就是问题所在。

这些是ANSI转义序列,可以打开和关闭颜色。尝试添加

--color=never
到ls以关闭着色


通常,您应该使用-color=auto,当输出不是终端时,它应该关闭颜色。

哦,就是这样!谢谢可能重复的、、和朋友。@jww我想说,虽然这篇文章和可能重复的文章有相同的解决方案,但对于两个不同的问题,它是相同的解决方案。一些查看堆栈溢出的用户可能会遇到与我相同的问题,但仍然不知道他应该查看关于ls中颜色的问题。