Board logo

标题: [问题求助] [已解决]请问sed命令能不能替换txt里面的回车换行为其他符号? [打印本页]

作者: jzp820927    时间: 2012-9-14 14:26     标题: [已解决]请问sed命令能不能替换txt里面的回车换行为其他符号?

本帖最后由 jzp820927 于 2013-10-23 20:06 编辑

请问sed能不能替换txt里面的回车换行为其他符号?我用 sed "s/\n/,/g" 1.txt 一点效果都没有,文本还是原来的格式,一点没有改变,不知道是我命令写错了,还是 sed替换不了,但是我反过来 sed "s/,/\n/g" 1.txt 就可以把逗号替换成回车换行,想不通了,请高手指教,谢谢~
作者: CrLf    时间: 2012-9-14 15:22

sed 是将文本逐行读取到模式空间,若要跨行应确保模式空间中有多行内容
貌似一般是将当前模式空间的内容逐行附加到后备空间,当抵达最后一行时从后备空间提取内容到模式空间,再对模式空间进行操作...
因为测试时发现我的sed后备空间貌似默认为\n,所以先对后备空间作了下清理
  1. sed -n "1{x;d;x};H;${g;s/\n/,/g;p}" 1.txt
复制代码

作者: jzp820927    时间: 2012-9-14 22:57

嗯,代码没问题,能实现,还没看太懂,还要好好学习下,先谢谢了!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2