通过脚本中的vim将文件编码更改为utf-8

前端之家收集整理的这篇文章主要介绍了通过脚本中的vim将文件编码更改为utf-8前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚被打倒了,我们的服务器已经从Debian 4更新到5。
我们切换到UTF-8环境,现在我们有问题在浏览器上正确打印文本,因为所有文件都是非utf8编码,如iso-8859-1,ascii等。

我尝试了许多不同的脚本。

我试过的第一个是“iconv”。那一个不工作,它改变内容,但文件enconding仍然是非utf8。

同样的问题与enca,encamv,convmv和一些其他工具我通过apt-get安装。

然后我发现了一个python代码,使用chardet通用检测器模块,以检测文件的编码(工作正常),但使用unicode类或编解码器类保存为utf-8不工作,没有任何错误

我发现将文件及其内容转换为UTF-8的唯一方法是vi。

这些是我为一个文件做的步骤:

vi filename.PHP
:set bomb
:set fileencoding=utf-8
:wq

而已。那一个工作完美。但是如何可以通过脚本运行。
我想写一个脚本(linux shell),它遍历一个目录所有的PHP文件,然后使用vi使用上面的命令转换它们。
因为我需要启动vi应用程序,我不知道如何做这样的事情:

“vi –run-command =’:set bomb,:set fileencoding = utf-8’filename.PHP

希望有人可以帮助我。

这是我知道的最简单的方法,从命令行轻松地这样做:
vim +"argdo se bomb | se fileencoding=utf-8 | w" $(find . -type f -name *.PHP)

或者更好的是,如果文件数量预计是相当大:

find . -type f -name *.PHP | xargs vim +"argdo se bomb | se fileencoding=utf-8 | w"

猜你在找的Bash相关文章