4.8 三劍客(1)

三劍客:

grep? 過濾

-E

支持?jǐn)U展正則===egrep

-o

只顯示匹配到的內(nèi)容? 顯示grep執(zhí)行過程

-v

取反

-i

不區(qū)分大小寫? ignore case? ? find? /oldboy -type f -iname "*.txt"

-n

顯示行號 cat -n

-w

按照單詞進(jìn)行匹配

-A

9? after 顯示grep找出的行及接下來的 9行

-B

9? before

-C

9? 上下

-r

-l (小寫字母L)

-P? 用于過濾Perl兼容正則表達(dá)式

sed? ? 過濾 替換 修改文件內(nèi)容 增刪改查

awk? ? 過濾 取列 統(tǒng)計(jì)計(jì)算

三劍客

grep

sed

awk

Unix中在當(dāng)前目錄下所有.cc 的文件中找到含有“asiainfo”內(nèi)容的文件簿寂,命令為_______

找出當(dāng)前目錄下包含127.0.0.1關(guān)鍵字的文件?

寫出查詢file.txt以abc結(jié)尾的行

grep 'abc$' file.txt

寫出刪除abc.txt文件中的空行

mkdir -p /oldboy/alex/

for n in {1..5}

do

echo "oldboy 127.0.0.1"? >/oldboy/$n.cc

echo "oldboy 127.0.0.1"? >/oldboy/alex/$n.cc

done

Unix中在當(dāng)前目錄下所有.cc 的文件中? 找到含有“asiainfo”內(nèi)容的文件裸准,命令為_______

find

find .

find /oldboy/ -type f -name "*.cc" |xargs grep 'asiainfo'

grep 'asiainfo'? /oldboy/*.cc

#find命令可以找出這個目錄下面所有層的內(nèi)容

[root@oldboyedu ~]# find /oldboy/ -type f -name "*.cc" |xargs grep 'oldboy'

/oldboy/alex/1.cc:oldboy 127.0.0.1

/oldboy/alex/2.cc:oldboy 127.0.0.1

/oldboy/alex/3.cc:oldboy 127.0.0.1

/oldboy/alex/4.cc:oldboy 127.0.0.1

/oldboy/alex/5.cc:oldboy 127.0.0.1

/oldboy/1.cc:oldboy 127.0.0.1

/oldboy/2.cc:oldboy 127.0.0.1

/oldboy/3.cc:oldboy 127.0.0.1

/oldboy/4.cc:oldboy 127.0.0.1

/oldboy/5.cc:oldboy 127.0.0.1

#只用grep只能默認(rèn)顯示第1層

[root@oldboyedu ~]# grep 'oldboy'? /oldboy/*.cc

/oldboy/1.cc:oldboy 127.0.0.1

/oldboy/2.cc:oldboy 127.0.0.1

/oldboy/3.cc:oldboy 127.0.0.1

/oldboy/4.cc:oldboy 127.0.0.1

/oldboy/5.cc:oldboy 127.0.0.1

找出當(dāng)前目錄下包含127.0.0.1關(guān)鍵字的文件柬焕?

grep -r '127.0.0.1'? .

find

[root@oldboyedu ~]# grep -r 'oldboy'? /oldboy/

/oldboy/test.sh:echo oldboy

/oldboy/alex/1.cc:oldboy 127.0.0.1

/oldboy/alex/2.cc:oldboy 127.0.0.1

/oldboy/alex/3.cc:oldboy 127.0.0.1

/oldboy/alex/4.cc:oldboy 127.0.0.1

/oldboy/alex/5.cc:oldboy 127.0.0.1

/oldboy/1.cc:oldboy 127.0.0.1

/oldboy/2.cc:oldboy 127.0.0.1

/oldboy/3.cc:oldboy 127.0.0.1

/oldboy/4.cc:oldboy 127.0.0.1

/oldboy/5.cc:oldboy 127.0.0.1

寫出查詢file.txt以abc結(jié)尾的行

寫出刪除abc.txt文件中的空行

基礎(chǔ)

[root@oldboyedu /oldboy]# grep -v '^$' /oldboy/blank.txt

oldboy oldboy

oldboy

alex

lidao996

中級:文件中有些行包含空格(只有空格)

[root@oldboyedu /oldboy]# egrep -v '^$|^ +$' /oldboy/blank.txt

oldboy oldboy

oldboy

alex

lidao996

究極:

^ *$理解

^$? ? 當(dāng)*表示0次的時(shí)候? ? 就相當(dāng)于是 ^$

^ +$? 當(dāng)*表示1次及1次以上? ? ? ? ? ? ^ +$

[root@oldboyedu /oldboy]# egrep -v '^ *$' /oldboy/blank.txt

oldboy oldboy

oldboy

alex

lidao996

待解釋方法:

grep "!^$"? abc.txt

! find sed awk中表示取反

egrep -v "(^$| )"? blank

egrep -v "(^$|^ $)"? blank

egrep -n? "[0-z]" oldboy.txt?

? ? '[0-Z]'

[root@oldboyedu /oldboy]# egrep -n? "[0-z]"? blank.txt

1:oldboy oldboy

4: oldboy

6:alex

7:lidao996

egrep "^[^$]" blank.txt

過濾出不是以$符號開頭的行

egrep "[^$]" blank.txt

[root@oldboyedu /oldboy]# egrep "[^$]" blank.txt

oldboy oldboy

oldboy

alex

lidao996

$$$$$$####oldboyedu.com

[root@oldboyedu /oldboy]# #排除$符號

egrep -n? "[0-9]+|[a-Z]+" 1.cc

[0-9]+ 連續(xù)數(shù)字

[a-Z]+ 連續(xù)的字母(大小寫)

cat file.txt|grep -v "^$"|grep -v "^ +$"

cat file.txt|grep -v "^$"? ×××××? 脫褲子方P

grep -v '^$' file.txt

1個英文的字符 占1個字節(jié)

1KB=1024字節(jié)

1MB=1024KB

1GB=1024MB=1024^3字節(jié)

sed? "/[? ]/d" 555?

sed? "/^$/d" 555

三劍客老二-sed命令

https://www.processon.com/view/link/5bea32c5e4b0ad314e894f53

老男孩教育-sed命令執(zhí)行過程

[root@oldboyedu /oldboy]# sed -n '1,5p' maav.txt

101,oldboy,CEO

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

[root@oldboyedu /oldboy]# sed -n '/101/,/105/p' maav.txt

101,oldboy,CEO

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

sed命令的后向應(yīng)用或反向引用 :

sed -r 's#()#\1#g'

核心: 先保護(hù)蜡娶,后使用

先把你要的內(nèi)容通過()括起來,然后在后面通過\數(shù)字 進(jìn)行使用。

[root@oldboyedu /oldboy]# echo {1..10}| sed -r 's#([0-9]+)#<\1>#g'

<1> <2> <3> <4> <5> <6> <7> <8> <9> <10>

后向引用

題目1:

cp /etc/passwd? /oldboy/

把 /oldboy/passwd 第1列和最后一列調(diào)換位置

題目2:取出里面的644或0644 sed后向引用方法

[root@oldboyedu /oldboy]# stat /etc/hosts

? File: ‘/etc/hosts’

? Size: 158? ? ? Blocks: 8? ? ? ? ? IO Block: 4096? regular file

Device: 803h/2051d Inode: 16829878? ? Links: 1

Access: (0644/-rw-r--r--)? Uid: (? ? 0/? ? root)? Gid: (? ? 0/? ? root)

Access: 2020-10-26 03:47:16.874000256 +0800

Modify: 2013-06-07 22:31:32.000000000 +0800

Change: 2019-03-04 11:15:49.426692303 +0800

Birth: -

題目1:

cp /etc/passwd? /oldboy/

把 /oldboy/passwd 第1列和最后一列調(diào)換位置

[root@oldboyedu /oldboy]# sed -r 's#(^.*)(:x.*:)(.*$)#\3\2\1#g' /oldboy/passwd

/bin/bash:x:0:0:root:/root:root

/sbin/nologin:x:1:1:bin:/bin:bin

/sbin/nologin:x:2:2:daemon:/sbin:daemon

/sbin/nologin:x:3:4:adm:/var/adm:adm

/sbin/nologin:x:4:7:lp:/var/spool/lpd:lp

/bin/sync:x:5:0:sync:/sbin:sync

/sbin/shutdown:x:6:0:shutdown:/sbin:shutdown

/sbin/halt:x:7:0:halt:/sbin:halt

/sbin/nologin:x:8:12:mail:/var/spool/mail:mail

/sbin/nologin:x:11:0:operator:/root:operator

老男孩教育-sed后向引用調(diào)換/etc/passwd第1列和最后一列

https://www.processon.com/view/link/5cab2621e4b087434367338b

題目2:取出里面的644或0644 sed后向引用方法

老男孩IT教育出品-sed命令反向引用取出/etc/hosts文件權(quán)限

https://www.processon.com/view/link/59fbc9c0e4b0f84f89765231

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茅信,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌墓臭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妖谴,死亡現(xiàn)場離奇詭異窿锉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)膝舅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門嗡载,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人仍稀,你說我怎么就攤上這事洼滚。” “怎么了技潘?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵遥巴,是天一觀的道長。 經(jīng)常有香客問我享幽,道長铲掐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任值桩,我火速辦了婚禮摆霉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘奔坟。我一直安慰自己携栋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布咳秉。 她就那樣靜靜地躺著婉支,像睡著了一般。 火紅的嫁衣襯著肌膚如雪滴某。 梳的紋絲不亂的頭發(fā)上磅摹,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機(jī)與錄音霎奢,去河邊找鬼户誓。 笑死,一個胖子當(dāng)著我的面吹牛幕侠,可吹牛的內(nèi)容都是我干的帝美。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晤硕,長吁一口氣:“原來是場噩夢啊……” “哼悼潭!你這毒婦竟也來了庇忌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤舰褪,失蹤者是張志新(化名)和其女友劉穎皆疹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體占拍,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡略就,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晃酒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片表牢。...
    茶點(diǎn)故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贝次,靈堂內(nèi)的尸體忽然破棺而出崔兴,到底是詐尸還是另有隱情,我是刑警寧澤蛔翅,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布敲茄,位于F島的核電站,受9級特大地震影響搁宾,放射性物質(zhì)發(fā)生泄漏折汞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一盖腿、第九天 我趴在偏房一處隱蔽的房頂上張望爽待。 院中可真熱鬧,春花似錦翩腐、人聲如沸鸟款。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽何什。三九已至,卻和暖如春等龙,著一層夾襖步出監(jiān)牢的瞬間处渣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工蛛砰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留罐栈,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓泥畅,卻偏偏與公主長得像荠诬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評論 2 355

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

  • 三劍客: grep 過濾 -E 支持?jǐn)U展正則===egrep -o 只顯示匹配到的內(nèi)容 顯示grep執(zhí)行過程 -...
    喂00閱讀 700評論 0 0
  • 一柑贞、前言 我們都知道方椎,在Linux中一切皆文件,比如配置文件钧嘶,日志文件棠众,啟動文件等等。如果我們相對這些文件進(jìn)行一些...
    以七v為書閱讀 1,518評論 0 5
  • Day14 作者:方維超 歸檔:課上筆記 時(shí)間:2019/3/19 昨天的考試題課下再進(jìn)行反復(fù)練習(xí)有决。 50%紀(jì)律幾...
    Ffvc閱讀 449評論 0 1
  • 1摄欲、什么是正則表達(dá)式? 作用和特殊字符一樣疮薇。 正則表達(dá)式是為處理大量的字符串及文本而定義的一套規(guī)則和方法。 假設(shè)"...
    一關(guān)_e438閱讀 248評論 0 0
  • 基本概念 1 .then方法返回的是另一個新的Promise實(shí)例我注,所以可以使用鏈?zhǔn)綄懛ā? .不要在then的方法...
    skoll閱讀 422評論 0 0