hsfl.net
当前位置:首页 >> shEll脚本定位某个文件中特定位置的字符串并进行替... >>

shEll脚本定位某个文件中特定位置的字符串并进行替...

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

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...

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...

用sed命令。 sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录` 例如:我要把man替换为hun,执行命令:sed -i "s/man/hun/g" 'grep man -rl /www'

用sed命令。 sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录` 例如:我要把man替换为hun,执行命令:sed -i "s/man/hun/g" 'grep man -rl /www'

假如SSID变量中没有&这个特殊符号,那么直接用sed是可以满足的 SSID='~!@#$%^*[}(/.*\\/'sed -i s,ssid=.*,ssid=$SSID,g filename但是如果有了&符号,放到sed中会作为特殊用途展开,导致保留了原来的匹配字符,写入的内容会不正确。 此时,只能...

这个问题太有想像力了,命令如下。 grep -i "aaa" -A 1 1.txt | grep -v -e "--" >2.txt

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/ }'

使用awk查找子串的位置 例如: a=aaabbb b=bbb subIndex=`awk 'BEGIN{print match("'$a'","'$b'")}'` 这样的话没有问题。

#!/bin/sh version='11.2.0.4' sed -i "4c ${version}" build.txt

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