在正規表示法中**^與$符號都是用來表示位置之用,除此之外,正規化表示法也常使用字元來簡化表示某些字串的組合。像是[0-9]用以表示一個數字位元,它可以是0到9的任一個;像是[a-z]用以表示任一個小寫的英文字元,它可以是a到z的任一個,[A-Z]**也是同樣的道理。
舉個例子來看,我要在一堆檔案列表中找出所有超過100KB的檔案,我可以先透過ls -lh去列出目錄底下的檔案列表,再經由grep命令指定去撈出有三個數字後面接著K的檔案。
ls -lh
-r-xr-xr-x 1 root root 589K Sep 12 20:16 al-2.00-74.i386.rpm
-r-xr-xr-x 1 root root 601K Sep 12 20:16 al-2.00-74.x86_64.rpm
-rwxr-xr-x 1 root root 69K Sep 12 20:16 dsinstall.sh
-r-xr-xr-x 1 root root 14K Sep 12 20:16 dsuninstall.sh
-r-xr-xr-x 1 root root 6.8K Sep 12 20:16 rollback-build
ls -lh | grep [0-9][0-9][0-9]K
-r-xr-xr-x 1 root root 589K Sep 12 20:16 al-2.00-74.i386.rpm
-r-xr-xr-x 1 root root 601K Sep 12 20:16 al-2.00-74.x86_64.rpm
[本系列文章]
我與BASH的每一天 - [1]利用bc命令來取得數字字串中的特定欄位值
我與BASH的每一天 - [2]直取字串變數中的特定欄位值
我與BASH的每一天 - [3] 利用awk來擷取特定欄位
我與BASH的每一天 - [4] 利用awk來擷取特定欄位-2
我與BASH的每一天 - [5] 利用awk來擷取特定欄位-3
我與BASH的每一天 - [6] 利用cut來擷取特定欄位
我與BASH的每一天 - [7] grep指令的妙用 - 1
我與BASH的每一天 - [8] grep指令的妙用 - 2
我與BASH的每一天 - [9] 正規化表示法 - 1