在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:setfileencoding,即可显示文件编码格式。2.enca(如果你的系统中没有安装这个命令,可以用sudoyuminstall-yenca安装)查看文件编码
下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。
一,查看文件编码:在Linux 中查看文件编码可以通过以下几种方式:
1.在Vim中可以直接查看文件编码:setfileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc文件中添加以下内容:setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
2.enca(如果你的系统中没有安装这个命令,可以用sudoyuminstall-yenca安装)查看文件编码&#36encafilenamefilename:Universaltransformationformat8bitsUTF-8CRLFlineterminators需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:Unrecognizedencoding
二,文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式:setfileencoding=utf-8 2.iconv转换,iconv的命令格式如下:输入/输出格式规范:-f,--from-code=名称原始文本编码-t,--to-code=名称输出编码信息: www.Svn8.Com-l,--list列举所有已知的字符集输出控制:-c从输出中忽略无效的字符-o,--output=FILE输出文件Svn8.Com-s,--s ilent关闭警告--verbose打印进度信息-?,--help给出该系统求助列表--usage给出简要的用法信息-V,--version打印程序版本号 例子:iconv-futf-8-tgb2312aaa.txt>bbb.txt这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。iconv-fencoding-tencodinginputfile比如将一个UTF-8编码的文件转换成GBK编码iconv-fGBK-tUTF-8file1-ofile2
3.enconv转换文件编码比如要将一个GBK编码的文件转换成UTF-8编码, *** 作如下enconv-Lzh_CN-xUTF-8filename
查找批量替换文件时,去除某种类型的文件,下面表示在./salt/*下的所有文件中,不包括tar.gz结尾的文件,搜索包含有node01字符串的文件
grep "node01" -rl ./salt/* --exclude=*.tar.gz
其实这里的 -r表示递归,-l表示输出文件名,
也可以将 -rl替换为-rn,-n表示是哪一行,会输出行号详细信息
grep "node01" -rn ./salt/* --exclude=*.tar.gz
替换字符串:
把./salt/*目前下所有文件进行遍历,查是否包含node01字符串的,不包括tar.gz结尾的文件。然后把node01用test01进行批量替换。
grep "node01" -rl ./salt/* --exclude=*.tar.gz | xargs sed -i 's/node01/test01/g'
linux系统自带的grep命令是一个强大的搜索工具,可以从各文件中查询匹配的字符信息。
查找目录下的所有文件中是否含有某个字符串,命令如下:
grep "string" ./*“string"为待查找串 , ./* 表示当前目录下所有文件
grep常用用法:
# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)