0727--linux的文件编码格式问题

linu文件编码格式的差异

linux下每行结尾以"\n"  windows下每行结尾是"\n\r" 

在linux环境中,使用cat -A  ceshi.txt 查看文件。(相当于cat -vET , 可展示特殊字符。)

文件末尾是^M$  

 查看编码格式

  :set ff 查看文件的编码格式

 修改文件编码格式dos改为unix的六种方式

  ^M 可依次使用Ctrl+v,Ctrl+M

 1)vi模式下

    :%s/^M//g(如果提示"pattern  not found ^M"失败,则表示文件默认识别并使用dos打开,此时直接

使用:set ff=unix命令,回车后,使用  :x 或 :wq 保存退出即可 )

  2)vi 文件

    :set ff=unix

  3)使用sed命令

    sed -i 's/^M//g' 测试.txt  >tmp_filename

    sed -e 's/^M//g'  ceshi.txt >ceshi2.txt

  4)使用tr命令删除字符

     tr -d '\r' ceshi2.txt

 5)dos2unix

    dos2unix ceshi.txt (需要安装dos2unix 命令,另外还有unix2dos命令,字符相互切换)

6) 使用shell脚本中的vi模式(脚本如下)

#!/bin/bash

cd /aml

echo 'start'

vi ceshi.txt << EOF

:set ff=unix

^[                                                 #代表esc退出编辑模式

:x

EOF

echo 'end'

你可能感兴趣的:(0727--linux的文件编码格式问题)