-
e 's/:\+s\+/:/' -e 's/ /_/g'
第一次放置每一行"n 連續 : 和 m 後面的空格"替換為 :將此行中剩餘的相似匹配項替換為 其中 n >= 1, m>=1
比如。 如果一行的內容是:
sss:: ppp: mmm
然後它變成替換後。
sss:ppp_mmm
然後。 e '/^$/d'
刪除空行。 然後。
e 's/[(%//g'
例如,刪除每行上出現的所有(或 % 或 ) 字元。
abc()% 替換為 abc
然後。 e '/^1/d'
刪除以字元 1 開頭的行。
最後。 e 's/[(*//'
刪除每行首次出現的 ( 或 * 或 ) 字元。
請注意,上面的每個 -e 命令都是上乙個 -e 命令的結果。
因此,假設有乙個檔案可以讀取。
abc #unchanged line
sss:: ppp: (m%mm)zzz ::end # change to sss:ppp_mmmzzz _end
1me #this line will be deleted
#change to 2123
end of file #unchanged
在上天的命令之後,它變成了。
abc #unchanged line
sss:ppp_m%mmzzz _end # change to sss:ppp_mmmzzz _end
#change to 2123
end of file #unchanged
-
s : +s + : multiple: 新增空格,更改乙個:
s g 空間變化
d:刪除空行。
1 d:刪除以 1 開頭的行。
s [(% g 特殊字元) 為空。
s [(* 同上]
後面還有一行:s g; 回程車上都是空的,幾句話排成一排。
-
Sed 長期以來一直支援正規表示式,這在檔案處理中非常有用,下面列出了一些常見的用途(GNU SED 版本
行的開頭用 表示,行的結尾用 $ 表示。 例如,有這樣的檔案:
如果我們想把 potri 放在第一列刪除,然後您可以:
假設您想在最後乙個數字之後新增一列"yes":
從比較常用的有:
使用表示如下內容的列表,例如:
結果輸出:cat
hat] 選擇其中之一。
僅輸出蝙蝠。
發生不止一次 (>=1):
發生 0 或 1 次:?
發生次數 n 次: 發生次數 = n 次:
發生 m 到 n 次:
請注意,前面和後面的括號 {} 需要轉義。
或通常與一起使用時,請注意兩者都需要反斜槓轉義。
一些特殊字元如換行符或帶簧片的回車符等,在斜槓前面與行 Zheng 匹配,並新增反斜槓轉義,例如 .
匹配上海**號碼:
需要注意的是,SED 不支援 D 匹配編號,此處必須使用 [0-9]。
歡迎關注!
-
你好主題,這個問題的重點是:
a]* 表示 0 個或多個 a 匹配"
多個 A"很好理解,但是"0 安培"說白了,也許是你不明白的"0 安培"匹配的是位置,而不是字元"0 安培"因此得名:
沒有地方可以"
讓我們來看看問題中描述的內容:
echo aabbabbaab | sed 's/[a]*/x/g'
上面的**中有 6 場比賽,我記錄了每場比賽:
你可以這樣記住它:像這樣" [x]* "匹配 0 個或多個 x 字元的正規表示式,您可以理解為:
字元替換 + 位置替換"字元的組合,即匹配時替換對應的字元,如果字元上不匹配,則替換相應的位置,位置插入替換,以便更好地理解。
希望對題主有所幫助,以上是我的理解,不一定完全正確,如不正確請更正,如有需要溝通,歡迎提問。
-
使用轉義字元轉換
或。。。。。。SED 正規表示式/……g 設定為其他字元,如 %,%,%,依此類推。 例如:
^(?a-z]+$a-z]+$d+$)w_]+s+$
字串至少有兩種:數字、大寫字母、小寫字母和由非空格字元組成的特殊字元 >>>More
由算術運算子組成的表示式,如加法、減法、乘法、除法等,稱為算術表示式。 任何公式都稱為表示式。 例如,表示式 a>b 稱為關係表示式,例如,and not 稱為邏輯表示式。 >>>More