您的位置:首页 > 其它

sed 处理文件中 dos CR/LF

2013-03-15 15:36 120 查看
将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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: