zoukankan      html  css  js  c++  java
  • 将windows文本格式转换为UNIX格式

    将windows文本格式转换为UNIX格式

    1、使用sed命令来进行转换,如下:
    sed -e ’s,^M,,g’ textfile
    其中^M的输入方法是Ctrl+V, Ctrl+M

    对于批量文件的处理,可以用下面的命令:
    for f in `echo *.c`; do sed -e ’s,^M,,g’ $f;done

    2、使用vi来进行转换
    vi 文件名打开文件后,输入
    :%s/[Ctrl+v][回车]//[回车]
    即可更改文件格式


    DOS/Windows和Linux/Unix的文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。

    1)把Dos/Windows下的文件移至Linux/Unix系统
    虽然很多程序不在乎 DOS/Windows 格式的 CR/LF 文本文件,但是有几个程序却在乎 -- 最著名的是 bash,只要一遇到回车,它就会出问题。以下 sed 调用将把 DOS/Windows 格式的文本转换成可信赖的 UNIX 格式:
    $ sed -e 's/.$//' mydos.txt > myunix.txt
    该脚本的工作原理很简单:替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车。我们用空字符替换它,从而将其从输出中彻底删除。如果使用该脚本并注意到已经删除了输出中每行的最末字符,那么,您就指定了已经是 UNIX 格式的文本文件。也就没必要那样做了!

    2)把Linux/UNIX 文本移至 Windows 系统,使用以下脚本执行必需的格式转换:
    $ sed -e 's/$/ /' myunix.txt > mydos.txt
    在该脚本中,'$' 规则表达式将与行的末尾匹配,而 ' ' 告诉 sed 在其之前插入一个回车。在换行之前插入回车,立即,每一行就以 CR/LF 结束。请注意,仅当使用 GNU sed 3.02.80 或以后的版本时,才会用 CR 替换 ' '。

    简单脚本:

     1 #!/bin/bash
     2 #
     3 #   将windows文本格式转换为UNIX格式
     4 # 方法一:  
     5 #   使用vi来进行转换
     6 #   vi 文件名打开文件后,输入
     7 #   :%s/[Ctrl+v][回车]//[回车]
     8 #   即可更改文件格式
     9 
    10 # 方法二:
    11 textfile=$1
    12 ## 使用sed命令来进行转换,如下:
    13 if [ -f $textfile ]; then
    14     sed -e ’s,^M,,g’ $textfile
    15     echo start convert $textfile file from windows format to unix format... 
    16 #  其中^M的输入方法是Ctrl+V, Ctrl+M; 对于批量文件的处理,可以用下面的命令:
    17 elif [ -d $textfile ]; then
    18     echo convert files of $textfile dir from windows format to unix format...
    19     for f in `echo *.c`; 
    20         do
    21             sed -e ’s,^M,,g’ $f;
    22         done
    23 fi
    24 
    25 
    26     
    27     
    View Code




  • 相关阅读:
    vue开发chrome扩展,数据通过storage对象获取
    Vue手动集成less预编译器
    Google Translate寻找之旅
    Javascript Range对象的学习
    Javascript Promises学习
    SublimeText 建立构建Node js系统
    We're sorry but demo3 doesn't work properly without JavaScript enabled. Please enable it to continue.
    npm安装包出现UNMET DEPENDENCY报错
    (转载)命令行说明中格式 尖括号 中括号的含义
    Linux重启网卡服务Failed to start LSB: Bring up/down networking.
  • 原文地址:https://www.cnblogs.com/sun-frederick/p/4763518.html
Copyright © 2011-2022 走看看