Linux運(yùn)維63期day17

系統(tǒng)通配符號(hào):

  • --- 匹配所有內(nèi)容
    ls -l /oldboy/.txt --- 匹配以.txt結(jié)尾信息進(jìn)行詳細(xì)顯示
    rm -rf /oldboy/
    --- 刪除oldboy目錄中所有信息, 但是默認(rèn)無法刪除隱藏文件
    rm -f /oldboy/.old.txt --- 刪除以old開頭 .txt結(jié)尾的所有隱藏文件
    find /oldboy -name "
    .txt"
    find /oldboy -name "oldboy"
    find /oldboy -name "old
    .txt"

{} --- 匹配序列信息
數(shù)字序列:
字母序列:
組合序列:
echo A{,2} --- A A2
/oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy.txt .bak
快速備份數(shù)據(jù)
cp /oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy.txt{,.bak}
cp /oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy.txt /oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy.txt.bak
快速還原數(shù)據(jù)
cp /oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy.txt{.bak,}
cp /oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy.txt.bak /oldboy/oldboy01/oldboy02/oldboy03/oldboy04/oldboy.txt
cp messages{-20190707,}

系統(tǒng)正則符號(hào): grep sed awk

基礎(chǔ)正則: basic regular expression BRE
擴(kuò)展正則: extended regular expression ERE
終極目標(biāo):

  1. 文件test.txt
    張三 110106198803076651
    李四 106106199903076651
    王五 oldboy

    grep -vE "[0-9]+" test.txt

    文件內(nèi)容做修改
    張三 110106198803076651
    李四 106106199903076651
    王五 10101010100101
    周六 101010101010220101010
    grep -E "[0-9X]{18}" test.txt --- 將身份輸入不足18位的進(jìn)行排除

    如何找出不合理身份證人員信息

如何取出IP地址信息

基礎(chǔ)正則:
^ --- 以什么開頭的信息
# ll /etc/|grep "^d"
drwxr-xr-x. 3 root root 101 Jul 3 20:25 abrt
drwxr-xr-x. 2 root root 252 Jul 17 18:13 alternatives
drwxr-x---. 3 root root 43 Jul 3 20:26 audisp
--- 以什么結(jié)尾的信息 # grep 'd' /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
說明: 如果結(jié)尾有空格信息, 過濾是會(huì)出現(xiàn)異常
利用底行模式 :set list 可以查看結(jié)尾空格信息
利用命令查看 cat -A /etc/selinux/config
問題: 將以點(diǎn)結(jié)尾的信息過濾出來:
grep '.' /etc/selinux/config # This file controls the state of SELinux on the system. # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings insteadof enforcing. # disabled- No SELinux policy is loaded. # minimum - Modification of targetedpolicy. Only selectedprocesses are protected. # mls - Multi Level Security protection. \ (不屬于正則) --- 轉(zhuǎn)義符號(hào) 01. 將有特殊意義的符號(hào), 還原本身符號(hào)意義 02. 將沒有意義的字符,變?yōu)橛幸饬x \r \n --- 換行符 \t --- 指表符 03. 取消別名功能 [root@oldboyedu ~]# echo -e "oldboy01\noldboy02" >oldboy.txt [root@oldboyedu ~]# cat oldboy.txt oldboy01 oldboy02 ^ --- 空行信息
grep -v "^$" /etc/selinux/config

(.) --- 匹配任意一個(gè)且只有一個(gè)字符
grep "^." /etc/selinux/config --- 匹配任意一個(gè)以什么開頭的字符
grep ".$" /etc/selinux/config --- 匹配任意一個(gè)以什么結(jié)尾的字符
grep "." /etc/selinux/config --- 匹配整個(gè)文件所有任意字符
總結(jié)匹配篩選文件信息:
01. 會(huì)按照行進(jìn)行匹配
02. 會(huì)匹配信息貪婪特性
03. 利用grep -o可以查看匹配信息的過程

(*) --- 匹配前一個(gè)字符連續(xù)出現(xiàn)0次或者多次
創(chuàng)建一個(gè)測(cè)試文件:
創(chuàng)建測(cè)試文件:
I am oldboy teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.

not 4900000448.
my god ,i am not oldbey,but OLDBOY!

匹配文件中數(shù)字0信息
[root@oldboyedu oldboy]# grep "0*" oldboy.txt
I am oldboy teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.

not 4900000448.
my god ,i am not oldbey,but OLDBOY!
[root@oldboyedu oldboy]# grep -o "0*" oldboy.txt
000
00000

(.) --- 匹配文件中所有信息
[root@oldboyedu oldboy]# grep ".
" oldboy.txt -o
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
[] --- 匹配中括號(hào)中任意一個(gè)字符
[root@oldboyedu oldboy]# grep "ba" oldboy.txt --- 表示過濾一個(gè)字符串
I like badminton ball ,billiard ball and chinese chess!
[root@oldboyedu oldboy]# grep "[bac]" oldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my god ,i am not oldbey,but OLDBOY!

過濾出所有小寫字母:
grep "[a-z]" oldboy.txt --- 過濾小寫字母
grep "[A-Z]" oldboy.txt --- 過濾大寫字母
grep "[a-zA-Z]" oldboy.txt --- 過濾所有字母
grep "[a-Z]" oldboy.txt --- 過濾所有字母
grep -i "[a-z]" oldboy.txt --- grep忽略大小寫進(jìn)行過濾
[^] --- 將指定字符信息,進(jìn)行取反過濾
[root@oldboyedu oldboy]# grep -v "[a-Z]" oldboy.txt

[root@oldboyedu oldboy]# grep "[^a-Z]" oldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldbey,but OLDBOY!

系統(tǒng)擴(kuò)展正則 (高級(jí)符號(hào)) grep --> egrep/grep -E sed --> sed -r
+ --- 匹配前一個(gè)字符連續(xù)出現(xiàn)1次或者多次
# grep "0*" oldboy.txt
I am oldboy teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.

not 4900000448.
my god ,i am not oldbey,but OLDBOY!
# egrep "0+" oldboy.txt
our site is 0 http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
| --- 匹配多個(gè)字符串信息
匹配oldboy和oldbey單詞信息
grep "oldb[oe]y" oldboy.txt
grep "oldb.y" oldboy.txt
egrep "oldboy|oldbey" oldboy.txt
企業(yè)應(yīng)用: 配置文件有注釋有空行, 如何進(jìn)行取消
grep -vE "$|#" /etc/services
() --- 將多個(gè)字符信息進(jìn)行整合過濾 難點(diǎn)
實(shí)現(xiàn)后項(xiàng)引用前項(xiàng)進(jìn)行替換 常用
第一個(gè)作用實(shí)踐說明
[root@oldboyedu oldboy]# grep [old] oldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is 0 http://www.etiantian.org
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
[root@oldboyedu oldboy]# egrep "(old)" oldboy.txt
I am oldboy teacher!
my blog is http://oldboy.blog.51cto.com
my god ,i am not oldbey,but OLDBOY!

第二個(gè)作用: 配合sed命令使用時(shí),可以實(shí)現(xiàn)后項(xiàng)引用前項(xiàng)
echo "123456"|sed -r 's#([0-9]+)#<\1>#g'
<123456>
echo "1234567890"|sed -r 's#([0-9])#<\1>#g'
echo "789"|sed -r 's#(.)(.)(.)#<\1><\2><\3>#g'
<7><8><9>
說明: 后項(xiàng)引用前項(xiàng)只能引用1-9個(gè)小括號(hào)

{} 匹配前一個(gè)字符連續(xù)出現(xiàn)指定的次數(shù)
{n,m} --- 匹配前一個(gè)字符連續(xù)出現(xiàn)至少n次 最多m次
[root@oldboyedu oldboy]# grep -E "0{2,4}" oldboy.txt
my qq num is 49000448.
not 4900000448.
[root@oldboyedu oldboy]# grep -E "0{2,4}" oldboy.txt -o
000
0000
[root@oldboyedu oldboy]# grep -E "0{1,3}" oldboy.txt -o
0
000
000
00
[root@oldboyedu oldboy]# grep -E "0{1,3}" oldboy.txt
our site is 0 http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
{n} --- 匹配前一個(gè)字符連續(xù)出現(xiàn)正好n次
[root@oldboyedu oldboy]# grep -E "0{3}" oldboy.txt
my qq num is 49000448.
not 4900000448.
[root@oldboyedu oldboy]# grep -E "0{2}" oldboy.txt
my qq num is 49000448.
not 4900000448.
{n,} --- 匹配前一個(gè)字符連續(xù)出現(xiàn)最少n次, 最多不限
{,m} --- 匹配前一個(gè)字符連續(xù)出現(xiàn)最少0次, 最多是m次
[root@oldboyedu oldboy]# grep -E "0{3,}" oldboy.txt
my qq num is 49000448.
not 4900000448.
[root@oldboyedu oldboy]# grep -E "0{,3}" oldboy.txt
I am oldboy teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is 0 http://www.etiantian.org
my qq num is 49000448.

not 4900000448.
my god ,i am not oldbey,but OLDBOY!
(?) --- 匹配前一個(gè)字符連續(xù)出現(xiàn)0次或者1次
總結(jié): * + {} ?
[root@oldboyedu oldboy]# egrep "o*" test02.txt
gd
god
good
goood
gooood
[root@oldboyedu oldboy]# egrep "o+" test02.txt
god
good
goood
[root@oldboyedu oldboy]# egrep "o?" test02.txt
gd
god
good
[root@oldboyedu oldboy]# egrep "o?" test02.txt -o
o
o
o
o

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子身诺,更是在濱河造成了極大的恐慌此熬,老刑警劉巖甜刻,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呻袭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡堂氯,警方通過查閱死者的電腦和手機(jī)重抖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祖灰,“玉大人钟沛,你說我怎么就攤上這事【址觯” “怎么了恨统?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵叁扫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我畜埋,道長(zhǎng)莫绣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任悠鞍,我火速辦了婚禮对室,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咖祭。我一直安慰自己掩宜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布么翰。 她就那樣靜靜地躺著牺汤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天卖鲤,我揣著相機(jī)與錄音,去河邊找鬼追迟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛骚腥,可吹牛的內(nèi)容都是我干的怔匣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼桦沉,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了金闽?” 一聲冷哼從身側(cè)響起纯露,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎代芜,沒想到半個(gè)月后埠褪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挤庇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年钞速,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫡秕。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡渴语,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昆咽,到底是詐尸還是另有隱情驾凶,我是刑警寧澤牙甫,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站调违,受9級(jí)特大地震影響窟哺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜技肩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一且轨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虚婿,春花似錦旋奢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至玷过,卻和暖如春爽丹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辛蚊。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工粤蝎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袋马。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓初澎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親虑凛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子碑宴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容