學習Grep,Sed中的正則 火丁筆記

2021-09-08 21:48:44 字數 1364 閱讀 6524

學習grep,sed中的正則 | 火丁筆記

posted on

2010-10-31

by 老王

正則要是幾天不學習不用功,肯定會忘得一乾二淨,下面聊聊grep,sed中的正則。

鑑於問題的需要,先杜撰乙份資料:

shell> cat /path/to/data.txt

'7654321'

'7654321"

"87654321"

"87654321'

shell> grep "(['\"])[1-9][0-9]\1" /path/to/data.txt

grep: invalid back reference

shell> sed -n "/(['\"])[1-9][0-9]\1/p" /path/to/data.txt

sed: -e expression #1, char 25: invalid back reference

使用basic regular expressions (bre)

shell> grep "\(['\"]\)[1-9][0-9]\\1" /path/to/data.txt

'7654321'

"87654321"

shell> sed -n "/\(['\"]\)[1-9][0-9]\\1/p" /path/to/data.txt

'7654321'

"87654321"

使用extended regular expressions (ere)

shell> grep -e "(['\"])[1-9][0-9]\1" /path/to/data.txt

'7654321'

"87654321"

shell> sed -n -r "/(['\"])[1-9][0-9]\1/p" /path/to/data.txt

'7654321'

"87654321"

總結:grep和sed同時支援bre和ere兩種正則,預設情況下,grep和sed使用的都是bre正則,通過增加命令引數(grep -e / sed -r),grep和sed可以支援ere正則。

btw:regular expression from wikipedia, the free encyclopedia

this entry was posted in

technical and tagged

grep,

linux,

regex,

sed,

shell by

老王. bookmark the

permalink.

Linux 正則 grep sed學習筆記

正規表示式的實現分成了兩類 基本正規表示式 bre 和擴充套件的正規表示式 ere bre 和 ere 之間有什麼區別呢?這是關於元字元的問題。bre 可以辨別以下元字元 其它的所有字元被認為是文字字元。ere 新增了以下元字元 以及與其相關的功能 在 bre 中,字元 用反斜槓轉義後,被看作是元字...

Linux中grep,sed的使用

今天,mayuyu來講一些linux中常用的命令。1.grep命令 grep用於過濾自己需要的內容,語法如下 grep mayuyu color 過濾出所有包含mayuyu的行,grep中也是支援正規表示式的。2.sed命令 使用普通的vim編輯器在編輯檔案時有兩個主要的問題 1 當檔案比較大的時候...

機器學習中的正則化

正則化 regularization 是機器學習中進行模型選擇的典型方法。正則化是模型損失函式結構風險最小化策略的實現,是在經驗風險上加乙個正則化項 regularized item 或罰項 penalty term 正則化項一般是模型複雜度的單調遞增函式,模型越複雜,正則化值就越大。比如,正則化項...