① linux ls正則表達式
ls就是默認排序的。
所以:
ls只支持通配符,不支持正則,所以單純用ls是不能實現的。
一些正則過濾操作需要結合支持正則的命令如grep、sed或awk。
例如:ls | grep "[0-9]$"
得到:aaa1 aaa2 aaa3
② 請問 linux命令用dpkg -l列出的信息,怎麼用正則表達式排除以ii開頭的所有行
dpkg -l | grep -v '^ii'
排除所有以兩個小寫i字母開頭的行
③ 怎麼用Linux 正則表達式過濾出IP地址
||用正則表達式提取網址的方式如下: 用ifconfig來提取 ifconfig eth0|專grep "inet addr"|awk '{print $2}'|awk -F: '{print $2}'192.168.10.1 用ip addr來提齲屬 ip addr | grep -Po '[^ ]+(?=/\d)'
④ Linux命令詳解之正則表達式
特殊字元
^
行首
$
行尾
.
任意一個字元
[]
內含字元范圍,加^表示反向字元范圍,在該范圍內任何一個字元都可以匹配
(若要恢復普通用法,可在其前加轉義字元/)
[:alnum:]
字母與數字字元
[:alpha:]
字母
[:ascii:]
ascii字元
[:blank:]
空格或製表符
[:cntrl:]
ascii控制字元
[:digit:]
數字
[:graph:]
非控制、非空格字元
[:lower:]
小寫字母
[:print:]
可列印字元
[:punct:]
標點符號字元
[:space:]
空白字元,包括垂直製表符
[:upper:]
大寫字母
[:xdigit:]
十六進制數字
其他字元
?
至多匹配一次
*
必須匹配0次或多次
+
必須匹配1次或多次
{n}
必須匹配n次
{n,}
必須匹配n次或n次以上
{n,m}
必須匹配在n到m次之間,包括n和m
示例
查找當前目錄下所有以一位數字命名且以.txt結尾的文件,並進行顯示
find
.-name
[[:digit:]]/.txt
-ok
ls
-l
{}
/;
查找所有以.txt結尾的文件並顯示
find
.
-name[[:alnum:]]*/.txt
-ok
ls
-l
{}
/;
⑤ 在linux系統如何grep過濾中,不包含某些字元
1、linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用許可權是所有用戶。
2、格式
grep[options]
3、主要參數
[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大小寫(只適用於單字元)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字元的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
\:忽略正則表達式中特殊字元的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
\<:從匹配正則表達式的行開始。
\>:到匹配正則表達式的行結束。
[ ]:單個字元,如[A]即A符合要求。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求。
。:所有的單個字元。
* :有字元,長度可以為0。
4、grep命令使用簡單實例:
$ grep 『test』d*
顯示所有以d開頭的文件中包含test的行。
$ grep 『test』aa bb cc
顯示在aa,bb,cc文件中匹配test的行。
$ grep『[a-z]\{5\}』 aa
顯示所有包含每個字元串至少有5個連續小寫字元的字元串的行。
⑥ 求linux上的正則表達式
[0-9a-z]{8,}.*|[a-zA-Z]{8,}.*|[0-9A-Z]{8,}.*|[0-9a-zA-Z]{8,}.*
只會寫這種丑的,有大神么?
⑦ linux SHELL命令 正則表達式 替換問題!
看暈了 坐等詳解
⑧ linux 正則表達式怎麼匹配
一.linux文本查找命令
在說linux正規表達式之前,還介紹下linux中查找文本文件常用的三個命令:
1.grep:最早的文本匹配程序,使用POSIX定義的基本正則表達式(BRE)來匹配文本。
2.egrep:擴展式grep,其使用擴展式正規表達式(ERE)來匹配文本。
3.fgrep:快速grep,這個版本匹配固定字元串而非正則表達式。並且是唯一可以並行匹配多個字元串的版本。
如下簡單的介紹grep命令:
語法格式:
grep[options...]pattern-spec[files...]
用途:
匹配一個或多個模式的文本行。
options:
-E:使用擴展正則表達式進行匹配,grep-E或取代egrep命令。
-F:使用固定字元串進行匹配,grep-F或取代傳統的fgrep命令。
-e:通常第一個非選項的參數認為是要匹配的模式,也可以同時提供多個模式,只要將其放入單引號,並用換行字元分隔他們。
模式以減號開頭時,為防止混淆其為選項,-e選項說明其後的參數為模式,即使他以減號開頭。
-f:從pat-file文件讀取模式作為匹配。
-i:模式匹配時忽略大小寫差異。
-l:列出匹配模式的文件名稱,而不是列印匹配的行。
-q:靜默的,如果匹配成功,不將匹配的行輸出到標准輸出;否則即是不成功。
-s:不顯示錯誤信息,通常與-q並用。
-v:顯示不匹配模式的行。
說明:可以同時查找多個文件中的內容,當指定多個文件時,每個顯示出的文件行前會有文件名加一個冒號標識其來自哪個文件。
可以使用多個-e或-f選項,建立要查找的模式列表。
二.正則表達式簡要介紹
1.正則表達式的組成
(1).一般字元:沒有特殊意義的字元
(2).特殊字元(meta字元):元字元,有在正則表達式中有特殊意義
2.如下講下正則表達式中的常見meta字元
(1).POSIXBRE與ERE中都有的meta字元:
:通常用於打開或關閉後續字元的特殊含義,如(...)與{...}
.:匹配任何單個字元(除NUL)
*:匹配其前的任何數目或沒有的單個字元,例:.表示任一字元,則.*匹配任一字元的任意長度
^:匹配緊接著的正則表達式,BRE中僅在正則表達式的開頭有特殊的含義,ERE中在任何位置都有特殊含義
$:匹配前面的正則表達式,在字元串或者行結尾處。BRE中僅在正則表達式的結尾處有特殊的含義,ERE中在任何位置都有特殊含義
[]:匹配方括弧內的任一字元,其中可用連字元(-)指的連續字元的范圍;^符號苦出現在方括弧的第一個位置,則表示匹配不在列表中的任一字元,
(2).POSIXBRE中才有的字元:
{n,m}:區間表達式,匹配在它前面的單個字元重現的次數區別。{n}指重現n次;{n,m}指重現n至m次;
():保留空間,可以將最多9個獨立的子模式存儲在單個模式中。如(ab).*1:
指匹配ab組合的兩次重現,中間可存在任意數目的字元。
:重復在(與)方括弧內第n個子模式至此點的模式。
(3).POSIXERE中才有的字元:
{n,m}:與BRE的{n,m}功能相同
+:匹配前面正則表達式的一個或多個擴展
?:匹配前面正則表達式的零個或一個擴展
|:匹配|符號前或後的正則表達式
():匹配方括弧括起來的正則表達式群
(4).方括弧([])表達式
4.1.字元集[::]
標識字元集,有如下幾種:
[::alnum]
:數字字元
[:digit:]
:數字字元
[:punct:]
:標點符號字元
[:alpha:]
:字母字元
[:graph:]
:非空格字元
[:space:]
:空格字元
[:blank:]
:空格與定位字元
[:lower:]
:小寫字母字元
[:upper:]
:大寫字母字元
[:cntrl:]
:控制字元
[:print:]
:可顯示的字元
[:xdigit:]
:16進制數字
4.2.排序符號
指將多個字元視為一個符號,如[.ch.]即將ch視為一個符號
4.3.等價字元
認為多個字元相等,如[=e=]在法文的locale里,可匹配於多種與e相似的字元,此處不再列出。
說明:這三種構造除其自身的方括弧之外,還必須使用額外的方括弧括起來。
例:[[:alpha:]!]:匹配任一英文字母或感嘆號。
[[.ch.]:匹配ch排序元素,而不匹配單獨的字母c或h.
3.簡單正規表達式匹配案例
china:匹配此行中任意位置有china字元的行
^china:匹配此以china開關的行
china$:匹配以china結尾的行
^china$:匹配僅有china五個字元的行
[Cc]hina:匹配含有China或china的行
Ch.na:匹配包含Ch兩字母並且其後緊跟一個任意字元之後又有na兩個字元的行
Ch.*na:匹配一行中含Ch字元,並且其後跟0個或者多個字元,再繼續跟na兩字元
二.實例
如下通過常用實例來學習BRE和ERE匹配,源文件url.txt內容如下:
www..comhttp://www..comhttps://www..comhttp://wwwcom.com
1.url匹配
匹配以http或者https開頭,並且其後為:並且含有.的串
BRE匹配:
grep'^https{0,1}.*..*'url.txt
ERE匹配:
grep-E'^https?.*..*'url.txt
匹配結果如下:
http://www..comhttps://www..com
2.Email匹配
示例文件內容為:
[email protected]@[email protected]@gmail.com
@@.com
匹配以字母數字或者下劃線開頭的多個字元,其後有一個@之後有多個字母數字或者下劃線,其中有一個.號
grep'^[[:alpha:][:digit:]_]*@[[:alpha:][:digit:]]*..*'email.txt
匹配結果:
[email protected]@[email protected]
先到這里,後續再接著寫。
⑨ Linux命令行大全:什麼是正則表達式
前面我們已經接觸過命令行提供的許多特性和工具,並且也遇到過一些相當神秘的shell特性及命令,比如shell擴展和引用、鍵盤快捷鍵和命令歷史記錄等,更不用提vi編輯器了。正則表達式也延續了這種傳統,而且可以說是眾多特性中最神秘的一個(該說法應該會持有爭議)。當然,並不是說這些特性不值得大家花時間去學習。恰恰相反,熟練掌握這些用法會給人意想不到的效果,盡管它們的全部價值可能不會立即體現出來。
⑩ 在linux終端中 怎樣利用正則表達式 進行文本內容的替換
一般用sed命令
例如
sed 's/test/mytest/g' 1.txt > 2.txt