温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

sed 处理文件中 dos CR/LF

发布时间:2020-07-10 00:55:44 来源:网络 阅读:790 作者:aaronzzq 栏目:系统运维

 dos控制字符^M替换掉;

  # IN unix ENVIRONMENT: convert DOS newlines (CR/LF) to Unix format)
     sed 's/^M$//'              # in bash/tcsh, press Ctrl-V then Ctrl-M
     sed 's/.$//'               # assumes that all lines end with CR/LF 
     sed 's/\x0D$//'            # gsed 3.02.80, but top script is easier 
  
  # IN UNIX ENVIRONMENT: convert Unix newlines (LF) to DOS format 
     sed "s/$/`echo -e 
\\\r`/"  # command line under ksh 
     sed 's/$'"/`echo 
\\\r`/"   # command line under bash 
     sed "s/$/`echo 
\\\r`/"     # command line under zsh 
     sed 's/$/\r/'              # gsed 3.02.80

  # IN DOS ENVIRONMENT: convert Unix newlines (LF) to DOS format 
     sed "s/$//"                # method 1 
     sed -n p                   # method 2

  # IN DOS ENVIRONMENT: convert DOS newlines (CR/LF) to Unix format 
  # Cannot be done with DOS versions of sed. Use "tr" instead. 
     tr -d \r outfile  # GNU tr version 1.22 or higher


Example:
删除文件中的所有空行和由空格组成的行;
$cat ifile|sed '/^$/d'|sed '/^[[:space:]]*$/d'    # method 1
$cat ifile|sed -e '/^$/d' -e '/^[[:space:]]*$/d'  # method 2

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI