ykqw.net
当前位置:首页 >> sED 换行符 >>

sED 换行符

#echo "a|b" | sed -n 's/|/\n/p' a b

echo 'a|b|c|d' | sed 's/|/\n/g' sed -i 's/|/\n/g' ./file.txt

:t 定义label "t" b t 转到label "t" 继续执行 N 先读入一行到sed的模板空间,加个换行符(\n),再向sed模板空间追加下一行(之后sed 对模板空间中的内容执行s/\n/,/替换,并显示替换后的内容)

因为sed是按行处理文本的,每次只读入一行到内部模式空间内。 因此要删除换行符,需要用sed的N命令全部读入(append方式)所有内容后再用s命令全局替换换行符为空。 用sed做还得考虑要读入多少行的问题,所以这里其实用awk做会更简单。 就上面这...

sed -i '$!{H};${x;G;s/\n//g;p}' 文件名

删除换行符还是用awk做比较简单。 设置记录分隔符(RS)为空,即将所有文件内容看作一条记录(默认是一行一条记录)。 用awk的内置函数gsub全局替换换行符为空,之后print打印即可。

没看懂,举个例子看看。

因为sed是按行处理文本的,每次只读入一行到内部模式空间

sed '{Ns/\(.*\)\n\(",".*\)/\1\2/t mergePD}:merge pd' 原始文件名 > 修改后的文件名

echo $变量名|sed 'N;s/\n//g' 已做测试

网站首页 | 网站地图
All rights reserved Powered by www.ykqw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com