sed -i '/aaa/{:a;n;s/123/xyz/g;/eee/!ba}' yourfile 如题:aaa123123123123123eee怎么匹配aaa~eee(开始结束字符串确定),然后替换123这样的 先匹配aaa,匹配到后执行大括号里的语句。 n 读取 ...
sed i aaa :a n s xyz g eee ba yourfile 如题:aaa eee怎么匹配aaa eee 开始结束字符串确定 ,然后替换 这样的 先匹配aaa,匹配到后执行大括号里的语句。 n 读取下一行 s xyz g 将 替换为xyz,全局替换,同一行中出现几次替换几次 :a设定跳转标签a eee ba 若当前行匹配不上eee,则跳转到标签a处继续执行,构成一个循环。若匹配到e ...
2017-09-27 17:23 0 7251 推荐指数:
sed -i '/aaa/{:a;n;s/123/xyz/g;/eee/!ba}' yourfile 如题:aaa123123123123123eee怎么匹配aaa~eee(开始结束字符串确定),然后替换123这样的 先匹配aaa,匹配到后执行大括号里的语句。 n 读取 ...
sed中的多行匹配,可以用N,N的意思是把下一行写入保持空间,保持空间可能不好理解,可以理解为机器的内存一样,把一下行也写入内存,可能会好理解多了,当把一下行也写入保持空间的时间,转行符"\n",也可以用.*匹配到了,前几天在帮开发做全局替换,在一对php标签中,替换里面的两行内容,其他有两个字 ...
echo -e "fuck\nme\nfuck\nthis" |sed -ne 'N;/fuck\nme/p' ...
sed "s#XXXX#${NAME}#" $MAIL_CONTENT > /tmp/MAIL_CONTENT1.tmp -----不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。表示把所有XXXX替换 ...
先指定范围,再对匹配上的内容进行替换 sed -i '5,10 s#hello#world#' test.txt ...
删除以a开头的行 sed -i '/^a.*/d' tmp.txt -i 表示操作在源文件上生效.否则操作内存中数据,并不写入文件中.在分号内的/d表示删除匹配的行 替换匹配行: sed -i 's/^a.*/haha/g' tmp.txt 分号内的s/表示替换/g表示全局替换 ...
reference: https://www.cnblogs.com/starof/p/4181985.html 抓取目录名并修改 ls | grep "XXX" > 1.txt sed命令下批量替换文件内容 格式: sed -i "s/查找字段/替换字段/g ...