[shell] 删除windows中的回车中\r

5440阅读 0评论2010-03-10 greendays
分类:

[] [] [] []

以下是本人已经找到方法:
windows下的回车符为 \r\n   而unix下的回车符是 \n
1. windows 结束符 0x0d, 0x0a,即\r\n,即CRLF
2. linux   结束符       0x0a, 即  \n, 即  LF
doc2unix
tr -d "\015"
sed 's/^M//g'
vi
:%s/^M//g
(注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)
awk不知道
perl不知道,php也不知道(不过一般解决方法是以二进制模式打开文件)
python可能同上
也不知道tr中015是什么值?是ascII码?


| | |

学习!
__________________________________

LIVE FREE OR DIE!     K.I.S.S.  DRY



| | |

015是八进制


| | |

perl里面正则也可以
s/[\r\n]+$//;


| | |

awk没有人知道吗?请知道其它方法朋友,继续补充集成大全!:lol:


| | |

sed -i  's/\r//g' your_txt


| | |

  1. awk '{sub(/\r$/,"");print}' urfile
复制代码
__________________________________


| | |

shell
ed ex vi vim mice sed awk bvi ultraledit ...
unix2dos dos2unix tr
debug ams c basic ...
perl python ruby ...
....
.........................................................
__________________________________

LIVE FREE OR DIE!     K.I.S.S.  DRY



| | |

你都说 \r 是 0x0d 了,呵呵

tr 这样就可以了
tr -d '\r' ufile
__________________________________
blog


| | |

有个命令叫 dos2unix,还有一个叫 unix2dos


| | |
上一篇:一条面试题:用一段shell来监控各节点文件是否一致
下一篇:一块网卡绑定多个IP地址(内含Redhat和Ubuntu)