Unix 从mailx输出中删除特殊字符的步骤
我有一个代码,用于发送命令的输出:Unix 从mailx输出中删除特殊字符的步骤,unix,mailx,Unix,Mailx,我有一个代码,用于发送命令的输出: File2=`ls -lrt ABC.LOG* |grep "Aug 24" |awk '{print $9}'` File3=`ls -lrt abc.LOG* |grep "Aug 24" |awk '{print $9}'` echo "Below are logs : \n \n `tail $File2` \n \n `tail $File3`" |mailx -s "Deatils" xyz@abc.com 但在输出中,我得到了一些特殊字符,
File2=`ls -lrt ABC.LOG* |grep "Aug 24" |awk '{print $9}'`
File3=`ls -lrt abc.LOG* |grep "Aug 24" |awk '{print $9}'`
echo "Below are logs : \n \n `tail $File2` \n \n `tail $File3`" |mailx -s "Deatils" xyz@abc.com
但在输出中,我得到了一些特殊字符,如“[0m”和“[31m”。
我需要了解这些角色是什么,我怎样才能摆脱它
以下是输出:
Details found. file available is filex_23647.csv
[0m
duration : 13 (seconds)
[31m
------ Process finished ------[0m
有什么建议吗?这些序列是ANSI颜色代码。它们可能来自
ls
或者grep
。可能您有使用颜色的别名。要
明确地说,您可以向它们传递--color=never
选项
ls --color=never ... | grep --color=never ...
这些似乎是。谢谢你的回复,但我得到了一个错误:
grep:inally option--grep:inally option--o grep:inally option--o
得到了一个答案:perl-pe's/\e\[?*?[\@-~]//g'