1. linux中如何利用sed进行全匹配替换
sed 's/\<old\>/new/g' file
这个是匹配单词一样的东西
意思就是限制它的宽度 去掉左右两边之一就相当于放宽那边不限制
2. linux sed命令替换特定字符之后的字符
1、首先进入到Linux系统,分别创建两个目录vim1、vim2。
3. sed如何替换匹配的数字
志文件中其中一行内容为:abc135hello
想使用正则找到这一样,分别使用命令egrep和sed。
问题1:数字匹配上\d是用来匹配数字的,使用\d+匹配不到135,但是必须用[0-9]才可以
问题2:egrep命令使用[0-9]+正则可以匹配到135,sed命令却不行
[root@livedvd log]# egrep "abcd[0-9]+hello" tmp.txt
abcd135hello
[root@livedvd log]# egrep "abcd\d+hello" tmp.txt
[root@livedvd log]# sed -n '/abcd[0-9]+hello/p' tmp.txt
[root@livedvd log]# sed -n '/abcd\d+hello/p' tmp.txt
[root@livedvd log]#
后来尝试单独看看\d在sed中能匹配到什么,发现匹配到的是字母d而不是数字
[root@livedvd log]# sed -n 's/\d/AAAAAAAAAAAA/p' tmp.txt
abcAAAAAAAAAAAA135hello
[root@livedvd log]#
4. sed正则表达式如何替换匹配的中间内容
这里可以通sed的分组来完成, 在sed中通过()来进行分组,后面通过1 来引用第一个分组 2第二个...以此类推. 这里我们把2改为了你想要的a就可以了。
# sed 's/([a-zA-Z])([0-9])([a-zA-Z])/1a3/g' a.txt
5. sed匹配后再替换
你好很高兴回答你的问题:
先过滤,然后进行替换的格式为 '//s###g' //表示你要找的内容 s###g表示替换
比如我要找出/etc/passwd中包含bash的行 并把这行中的:替换为-
写法为:sed '/bash/s#:#-#g' /etc/passwd
6. 如何用sed或awk模糊匹配指定字符串并删除/替换
sed:
sed 's/a..e/【替换为的字串,不写就是删除】/g' 文件名
上面是查找以a**e这样的字符串也可以写其他的正则表达式,并删除或替换
awk:
awk '{gsub(/a..e/,"替换内容或为空");print}' 文件名
同上,替换项 写成空字符串就能实现删除功能。
7. sed如何匹配=号后面的内容替换,后面的内容不固定
你好,
sed -i -n '/=/s/= \(.*\)/替换后的内容/p' 文件名
希望对你有帮助,欢迎追问
写在最后:
不知楼主你的实际情况是啥样,是使用sed直接处理的字符串;还是sed处理的文件但文件中只有一行符合要求的;或是sed处理文件但是文件中有多行符合要求的,如果是这种情况直接替换还不行,楼主先试一下我上面提供的语句,如果和你实际情况不符,你把你的情况详细说事下,咱再继续讨论
8. 怎么用sed替换一个匹配字符串的其中一部分
sed 's/\(前一部分\)要替换的部分\(后一部分\)/\1替换后的字符串\2/'
9. 新手请教linux sed命令替换的问题
下面这样:
str='obj.id="0x00000013";obj.value="22:21:23:E1:49:C9";'
echo"$str"|sed-r's/(obj.value=")([0-9]+:){3}/128:31:52:/'
后面的1就代表前面的(obj.value=") ,原封不动归还。只替换后面部分。
10. 怎么sed命令实现从行末匹配第二个字符并替换成另一个字符
echolinux-libc-headers-3.18.31-r0|sed's/-([^-]*-[^-]*)$/,1/'