如何在unix中查找并删除特殊字符

如何在unix中查找并删除特殊字符

我有一个大文件。在文件末尾,我有一个特殊的行尾字符,它是一个向右的小箭头。它的十六进制代码是...→。

我如何查看文件的最后一行并从文件中删除这个向右的小箭头。

我目前有一个 shell 脚本,它接受一个文件,解压缩该文件,然后将其移动到另一个名为 MYFILE.TXT 的文件。我需要搜索 MYFILE.TXT 的最后一行以查看该特殊字符是否存在。如果是这样,则删除该字符。如果该字符不存在,则不对文件执行任何操作。感谢您为我提供的任何帮助

谢谢,

答案1

您没有说在什么情况下需要从最后一行删除这个字符,但假设您需要将其过滤掉,您是否尝试过像以下这样简单的操作:

sed '$s/→//'

如果您需要就地编辑文件,GNU 实现sed有一个简单的就地模式,您可以使用以下命令调用-i

sed -i '$s/→//' file-to-edit

在现代 BSD中使用-i ''代替。-ised

相关内容