+ -
当前位置:首页 → 问答吧 → sed i参数 出现 ^M字符

sed i参数 出现 ^M字符

时间:2011-02-22

来源:互联网

文件正常,但是用了 sed -i '/aa/iaaaa' file 之后每行的末尾出现了^M(新插入的行没有^M)
如果其他的替换。比如sed -i 's/aa/bb/' file 没有问题
这是怎么回事?

作者: baoyu05   发布时间: 2011-02-22

本帖最后由 南极雨 于 2011-02-22 16:55 编辑

sed -i是什么意思啊?

试试 sed ‘l’ file 看看文件
或者cat -v file
dos2unix 可以将windows 文件转换成linux文件系统下的。

作者: 南极雨   发布时间: 2011-02-22



QUOTE:
sed -i是什么意思啊?

试试 sed ‘l’ file 看看文件
或者cat -v file
dos2unix 可以将windows 文件转 ...
南极雨 发表于 2011-02-22 16:54




    sed i  就是 在指定行插入。
cat -v file 果然看到很多^M,为什么用vi看不出来。是不是它是windows下的文件?

作者: baoyu05   发布时间: 2011-02-22

要不你用dos2unix转转下

作者: compare2000   发布时间: 2011-02-22



QUOTE:
要不你用dos2unix转转下
compare2000 发表于 2011-02-22 17:15




    转了。把^M弄走不是问题。
问题是本来看起来正常,也就是^M看不到,sed改了之后就出现了^M,
更郁闷的是,sed有的参数改正常,有的参数却能把^M改出来.不知道是什么原因

作者: baoyu05   发布时间: 2011-02-22

太奇怪了,在研究中{:3_198:}

作者: compare2000   发布时间: 2011-02-22

回复 baoyu05


    sed -i '/aa/iaaaa' file  这个写错了?

作者: wtuter   发布时间: 2011-02-22



QUOTE:
回复  baoyu05


    sed -i '/aa/iaaaa' file  这个写错了?
wtuter 发表于 2011-02-22 17:37



这里有两个i,第一个i是直接修改文件,第二个i就是在aa行之前插入的意思
    不知道哪里错了

作者: baoyu05   发布时间: 2011-02-22

回复 baoyu05


    这个aaaa是复制过来的还是手动打的,按说不 应该呀

作者: wtuter   发布时间: 2011-02-22



QUOTE:
回复  baoyu05


    这个aaaa是复制过来的还是手动打的,按说不 应该呀
wtuter 发表于 2011-02-22 17:41




    手动输入的

作者: baoyu05   发布时间: 2011-02-22

回复 baoyu05


    vi vim打开都有么,cat -A呢,按说转换一次就可以了,

作者: wtuter   发布时间: 2011-02-22



QUOTE:
回复  baoyu05


    vi vim打开都有么,cat -A呢,按说转换一次就可以了,
wtuter 发表于 2011-02-22 17:47



是转一次就可以了,转了之后没有问题了。
    vi vim打开没有,cat -v file能看到。

作者: baoyu05   发布时间: 2011-02-22

热门下载

更多