在Linux中经过挂载后,我们可以修改Windows下的文件,但Win文本需要转化成Unix文本,否则在有些情况下无法正常操作。我偶然发现了这一点,因为我在作WMP的播放列表的时候,直接把一个win下的文本文件拿了过来,是个电视列表,想把所有的行尾加上点东西,目标是作成一个tv.wpl文件,用sed语句:
# sed 's#$#"/>#' file
结果不成功,想加的内容"/>全都跑到了行头,并侵占每行原有的文字。google了一下才找到将Win文本转化成Unix文本的正确方法:
# sed 's/.$//' file
实质上是一个文本的行转换 即windows/dos 的 CRLF 转换为Unix的 LF 。如此转化以后,sed修改行尾的语句才可生效,据说也可以用gawk:
# gawk -v BINMODE="w" '1'
反过来,把LF转化为CRLF:
# awk 1
阅读(1394) | 评论(2) | 转发(0) |