⑴ linux 下用shell sed替换文本中的字符串
sed是行编辑器,用这个工具非常困难。可以参考以下脚本:
#!/bin/bash
while read line
do
if echo $line | grep 'Hour$' >/dev/null; then
echo $line | tr -d '\n'
else
echo $line
fi
done < $1
1,将上面脚本保存为fuck.sh
2,chmod 755 fuck.sh
3,./fuck.sh file
⑵ 求助sed如何匹配最后一个字符并替换字符后的换行符呢
echo"aaa111|
bbb222|
ccc
333|
ddd444|
eee55
5"|sed-n'{/|$/{p;b};${p;b};N;s/ //;p}'
当行以|结尾或是最后一行时直接打印,否则读取下一行,替换换行符输出
⑶ sed替换变量字符
如果bbo.log4j.subdirectory=20188或者bbo.log4j.subdirectory=20388独占一行,可以用:
sed -i 's/\(bbo\.log4j\.subdirectory=\)\(.*\)$/\130188/g' bbo.properties
如果这个bbo.log4j.subdirectory=后面可能还有其他数值,但是只想替换=20288或20388,其他数值时不替换,可以这样:
sed -i 's/\(bbo\.log4j\.subdirectory=\)\(20[23]88\)$/\130188/g' bbo.properties
⑷ linux sed命令替换特定字符之后的字符
1、首先进入到Linux系统,分别创建两个目录vim1、vim2。
⑸ linux使用sed命令如何替换两个字符串之间的字符串
root@localhost:~# echo enable="true",url="http://10.25.136.232",showSlider="true",
enable=true,url=http://10.25.136.232,showSlider=true,
root@localhost:~# echo enable="true",url="http://10.25.136.232",showSlider="true",|sed 's@url=".*",s@url="https:\/\/test.com",s@g'
enable=true,url=http://10.25.136.232,showSlider=true,
⑹ sed替换指定字符后面内容
sed-r's/(ATTR{address}==")[^"]*/1ABC/'A
结果得到:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ABC", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
是要这个效果吗?
⑺ 使用sed命令将特定字符后的双引号里的内容替换
如果匹配的是所有2后面的3的话可以用这个:sed 's/\(.*2.*\)3\(.*\)/\19\2/' sed1.txt
如果匹配的是2后面紧挨着的3的话可以用这个:sed 's/\(.*2.\)3\(.*\)/\19\2/' sed1.txt ,就是把.*2.*改成.*2. 因为*表示出现多次。
⑻ 如何用sed命令替换一行中的某个字符串
sed替换的基本语法为:
sed 's/原字符串/替换字符串/'
实际使用参考代码如下:
在有aaa的行中,将 111 替换为 AAA,将 222 替换为 BBB即,
sed '/aaa/
{
s/111/AAA/g;
s/222/BBB/g;
}
' urfile
⑼ sed命令替换指定字符串后面内容
sed -r 's/(ATTR\{address\}==")[^"]*/\1ABC/' A
结果得到:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ABC", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
⑽ sed如何匹配=号后面的内容替换,后面的内容不固定
你好,
sed -i -n '/=/s/= \(.*\)/替换后的内容/p' 文件名
希望对你有帮助,欢迎追问
写在最后:
不知楼主你的实际情况是啥样,是使用sed直接处理的字符串;还是sed处理的文件但文件中只有一行符合要求的;或是sed处理文件但是文件中有多行符合要求的,如果是这种情况直接替换还不行,楼主先试一下我上面提供的语句,如果和你实际情况不符,你把你的情况详细说事下,咱再继续讨论