⑴ 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處理文件但是文件中有多行符合要求的,如果是這種情況直接替換還不行,樓主先試一下我上面提供的語句,如果和你實際情況不符,你把你的情況詳細說事下,咱再繼續討論