Shell “输出文件”的内容;脚本“;命令是神秘的

Shell “输出文件”的内容;脚本“;命令是神秘的,shell,scripting,Shell,Scripting,当我运行脚本来记录整个控制台时,输出文件是crytpic,带有符号,如^[d^M^[^@^-等。是否有一个编辑器可以删除并打开与控制台日志类似的文件?是的,先生,您的编辑器已启用。:d 请尝试以下命令: $ sed -E "s/[[:cntrl:]](\[K[0-9]? ?)?//g" your_file_here > output_file 这将从您的文件中删除所有控制字符(您描述的字符)。是的,先生,您的编辑器已关闭。:D 请尝试以下命令: $ sed -E "s/[[:cntrl:

当我运行脚本来记录整个控制台时,输出文件是crytpic,带有符号,如
^[d^M^[^@^-
等。是否有一个编辑器可以删除并打开与控制台日志类似的文件?

是的,先生,您的编辑器已启用。:d

请尝试以下命令:

$ sed -E "s/[[:cntrl:]](\[K[0-9]? ?)?//g" your_file_here > output_file

这将从您的文件中删除所有控制字符(您描述的字符)。

是的,先生,您的编辑器已关闭。:D

请尝试以下命令:

$ sed -E "s/[[:cntrl:]](\[K[0-9]? ?)?//g" your_file_here > output_file

这将从文件中删除所有控制字符(您描述的字符)。

组合多个命令需要
-e
。当您只有一个命令时(如本例中,双引号之间的部分)这不是必需的。我使用-E表示正则表达式的扩展版本。从sed手册页上可以看到:“-E:将正则表达式解释为扩展(现代)正则表达式,而不是基本正则表达式(BRE)。re_format(7)手册页充分描述了这两种格式。”组合多个命令时需要使用
-e
。如果只有一个命令(如本例中的双引号之间的部分),则不需要使用它。我使用-e表示正则表达式的扩展版本。在sed手册页中:“-e:将正则表达式解释为扩展(现代)正则表达式而非基本正则表达式(BRE)。re_format(7)手册页充分描述了这两种格式。”