gpt4 book ai didi

linux - ls 命令中的额外转义字符让生活变得困难

转载 作者:太空宇宙 更新时间:2023-11-04 04:39:32 25 4
gpt4 key购买 nike

我想发出一个简单的 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,当输出不是终端时,它应该关闭颜色。

关于linux - ls 命令中的额外转义字符让生活变得困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55634528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com