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