qzjz.net
当前位置:首页 >> 请问怎么在shEll脚本中,替换文件多行里面的指定字... >>

请问怎么在shEll脚本中,替换文件多行里面的指定字...

sed -i '/aaa/{:a;n;s/123/xyz/g;/eee/!ba}' yourfile先匹配aaa,匹配到后执行大括号里的语句。 n 读取下一行 s/123/xyz/g 将123替换为xyz,全局替换,同一行中出现几次替换几次 :a 设定跳转标签a /eee/!ba 若当前行匹配不上eee,则跳转到标签a...

用Replace Pioneer处理很轻松,找到")"和"("之间的内容,把"、"替换成"|"就可以了。 需要说明的是,你的括号是中文括号"()"而不是英文括号"()",所以不用转义。 以下是详细步骤: 1. ctrl-o打开待处理txt文件 2. ctrl-h打开replace窗口 * 在S...

YDAY=$(date +"%Y%m%d" -d "-1 days")TDAY=$(date +"%Y%m%d")awk -v YDAY=$YDAY -v TDAY=$TDAY 'NR==1 {if(substr($0,20,8)==YDAY) $0=substr($0,1,19) TDAY substr($0,28)if(substr($0,34,8)==YDAY) $0=substr($0,1,33) TDAY substr($0,42)}/^T...

在linux中回车键是\n 那么替换就是 awk 'BEGIN{RS="\n";ORS="AAA";}{print $0}' test.txt将test.txt中所有\n替换成AAA

echo "# 我是AA aaaaaa-------->> #AAAAA BBBB CCCC end;" | sed '/AAAAA/,/end/ { s/\([ ]*\)\#\(.*\)/\1\2/ n s/\([ ]*\)\(.*\)/\1\#\2/ n s/\([ ]*\)\(.*\)/\1\#\2/ n s/\([ ]*\)\(.*\)/\1\#\2/ }'

根据位置替换即可: read ipsed -ri "/subnet/s/(subnet )[^ ]+( netmask.*)/\1$ip\2/" /mnt/file/subnet/ - 先正则匹配到含有subnet的行,然后替换。 替换的时候将不变的部分用小括号括起来,后面依次用\1 , \2 原封不动地引用回来。 -r 选项用...

用Replace Pioneer处理很轻松,找到")"和"("之间的内容,把"、"替换成"|"就可以了。 需要说明的是,你的括号是中文括号"()"而不是英文括号"()",所以不用转义。 以下是详细步骤: 1. ctrl-o打开待处理txt文件 2. ctrl-h打开replace窗口 * 在S...

sed "s/zip/$zip/g" file sed双引号可以识别变量

建立数字与字母序列的对应关系就好办了。 这就想到数组。数组下标为连续的数字,数组元素可用于存储字母,这样就一一对应上了。 $ a=({a..z})$ echo ${a[@]}a b c d e f g h i j k l m n o p q r s t u v w x y z$ echo ${a[0]}a$ echo ${a[1]}b...

一条语句搞定,假定你要找到最后一个ABC以及后面的10行, 当然这条语句能够执行的基础是,1.log里确实有ABC这个字符串,否则下面一条语句就会出现失败,更好的方法是在脚本中分成两条语句,一条语句判断是否有ABC以及行号,第二条语句是用sed来...

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