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

sED 换行符

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

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

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

没看懂,举个例子看看。

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

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

去掉文件中的换行符 (1)tr命令的操作是针对文件的操作,它把整个文本当做操作的对象,所以可以直接去除文件中的换行符 tr '\n' ' ' < file (2)sed的操作对象是行.而作为行分割符号的回车符,本身是不属于行的.所以sed中必须加上N命令,把下一行的内...

替换行末的单引号 sed "s/'$/;/g" file 加-i参数替换文本内容,你可以先试不加-i输出看下是否达到要求。其它替换同理 特殊符号替换的表达示用双引号就行了。再不行就用“\”转义

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