day15 課堂筆記 awk

三劍客特長(zhǎng)

grep? 過(guò)濾查找泼掠,篩選

sed? 取行启泣,替換叠荠,追加內(nèi)容

awk? 取列

? ?awk參數(shù)? ? ? ? ? ? ? ?模式動(dòng)作? ? ? ? ? ? ?文件?

? awk [options]? ? ? ? 'pattern{action}'? ? ? file

awk 語(yǔ)法:

-F? 指定分隔符

列:$ 1第一列 $2 第二列

$0? 當(dāng)前整行記錄

$n 當(dāng)前記錄的第n列字段之間由-F指定分隔符

NF當(dāng)前記錄中的列的個(gè)數(shù)持钉,就是多列$

$(NF-n)倒數(shù)第幾列? n為數(shù)字

NR 已經(jīng)讀出的記錄數(shù)刻恭,就是行號(hào)掀宋,從1開(kāi)始

cut 按列切割

-d? ?指定分隔符? ?-f 指定列? -c? 按字符取內(nèi)容

考試

1、問(wèn)題1:輸出oldboy.txt的第2-3行內(nèi)容※。

sed -n '2,3p' oldgirl.txt

2痴奏、問(wèn)題2:過(guò)濾出含有oldboy字符串的行※蛀骇。

sed -n '/oldboy/p' oldgirl.txt

3、問(wèn)題3:刪除含有oldboy字符串的行※读拆。

sed '/oldboy/d' oldgirl.txt

sed /oldboy/d oldgirl.txt

4擅憔、問(wèn)題4:將文件中的oldboy字符串全部替換為oldgirl※。

vim替換:

:%s#oldboy#oldgirl#g

sed 's#想替換啥#用啥替換#g' oldgirl.txt

sed 's#oldboy#oldgirl#g' oldgirl.txt

修改文件:

sed -i 's#oldboy#oldgirl#g' oldgirl.txt

5檐晕、問(wèn)題5:將文件中的oldboy字符串全部替換為oldgirl暑诸,同時(shí)將QQ號(hào)碼49000448改為31333741。

sed -e 's#oldboy#oldgirl#g' -e 's#49000448#31333741#g' oldgirl.txt I

環(huán)境:

[root@oldboyedu ~/test]# cat oldgirl.txt

I am oldboy teacher!

I like badminton ball ,billiard ball and chinese chess!

our site is http://www.oldboyedu.com

my qq num is 49000448.

問(wèn)題1:輸出oldboy.txt的第2-3行內(nèi)容※辟灰。

問(wèn)題2:過(guò)濾出含有oldboy字符串的行※个榕。

問(wèn)題3:刪除含有oldboy字符串的行※。

問(wèn)題4:將文件中的oldboy字符串全部替換為oldgirl※芥喇。

問(wèn)題5:將文件中的oldboy字符串全部替換為oldgirl西采,同時(shí)將QQ號(hào)碼49000448改為31333741。

問(wèn)題6:在oldboy.txt文件的第2行后追加文本继控。

問(wèn)題7:在oldboy.txt文件的第2行插入文本苛让。

刪除指定行

sed -i '3d' oldgirl.txt

sed -i '5,8d' oldgirl.txt

作業(yè)環(huán)境:

[root@oldboyedu ~/test]# cat oldgirl.txt

I am oldboy teacher!

I like badminton ball ,billiard ball and chinese chess!

our site is http://www.oldboyedu.com

my qq num is 49000448.

1、問(wèn)題1:輸出oldboy.txt的第2-3行內(nèi)容※湿诊。

[root@oldboyedu ~/test]# sed -n '2,3p' oldgirl.txt

[root@oldboyedu ~/test]# head -3 oldgirl.txt |tail -2

2狱杰、問(wèn)題2:過(guò)濾出含有oldboy字符串的行※。

[root@oldboyedu ~/test]# sed -n '/oldboy/p' oldgirl.txt

I am oldboy teacher!

our site is http://www.oldboyedu.com

[root@oldboyedu ~/test]# grep oldboy oldgirl.txt

I am oldboy teacher!

our site is http://www.oldboyedu.com

3厅须、問(wèn)題3:刪除含有oldboy字符串的行※仿畸。

[root@oldboyedu ~/test]# sed '/oldboy/d' oldgirl.txt

I like badminton ball ,billiard ball and chinese chess!

my qq num is 49000448.

[root@oldboyedu ~/test]# grep -v "oldboy" oldgirl.txt

I like badminton ball ,billiard ball and chinese chess!

my qq num is 49000448.

4、問(wèn)題4:將文件中的oldboy字符串全部替換為oldgirl※朗和。

[root@oldboyedu ~/test]# sed 's#oldboy#oldgirl#g' oldgirl.txt

I am oldgirl teacher!

I like badminton ball ,billiard ball and chinese chess!

our site is http://www.oldgirledu.com

my qq num is 49000448.

vim替換:

5错沽、問(wèn)題5:將文件中的oldboy字符串全部替換為oldgirl,同時(shí)將QQ號(hào)碼49000448改為31333741眶拉。

[root@oldboyedu ~/test]# sed -e 's#oldboy#oldgirl#2' -e 's#49000448#31333741#g' oldgirl.txt

6千埃、問(wèn)題6:在oldboy.txt文件的第2行后追加文本

[root@oldboyedu ~/test]# sed '2a I teacher linux.' oldboy.txt

[root@oldboyedu ~/test]# sed -i '2a I teacher linux.' oldboy.txt

[root@oldboyedu ~/test]# sed '2i I teacher linux.i' oldgirl.txt

問(wèn)題1:取出Linux中執(zhí)行ifconfig eth0后對(duì)應(yīng)的IP地址(只能輸出IP地址)。

方法1:?

[root@oldboyedu ~/test]# ifconfig eth0|sed -n 2p|sed 's#^.*inet ##g'|sed 's#? netm.*$##g'

10.0.0.201

方法:要取一個(gè)目標(biāo)忆植,刪除目標(biāo)兩邊的放可,就得到了目標(biāo):

先匹配上,然后在刪除

[root@oldboyedu ~]# ifconfig eth0|sed -n 2p|sed 's#^.*inet ##g'|sed 's#? netm.*$##g'

10.0.0.201

[root@oldboyedu ~]# ifconfig eth0|sed -n 2p|sed -e 's#^.*inet ##g' -e 's#? netm.*$##g'

10.0.0.201

[root@oldboyedu ~]# ifconfig eth0|sed -ne 's#^.*inet ##g' -e 's#? netm.*$##gp'

10.0.0.201

[root@oldboyedu ~]# ifconfig eth0|sed -nr '2s#^.*inet (.*)? netm.*$#\1#gp'

10.0.0.201


stat /etc/hosts自行取其中的644

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

root@oldboyedu ~]# stat /etc/hosts|sed -rn 's#^.*\(0(.*)/-.*$#\1#gp'

644

考試:ip add的輸出取出IP朝刊。

[root@oldboyedu ~]# ip add|sed -rn 's#^.*net (.*)/24.*$#\1#gp'

10.0.0.201

三劍客自身有特長(zhǎng)的耀里。

grep 過(guò)濾查找內(nèi)容。篩子

sed? 取行拾氓,替換冯挎,刪除,追加

awk? 取列

cut 按列切割

-d 指定分隔符 -f指定哪列咙鞍,多列用逗號(hào)

[root@oldboyedu ~]# cat a.txt

1 2 3 4 5 6 7 8 9 10

[root@oldboyedu ~]# cut -d" " -f1,3,5 a.txt

1 3 5

練習(xí)

[root@oldboyedu ~]# sed -n '1,5p' /etc/passwd >oldboyedu.txt

[root@oldboyedu ~]# cat oldboyedu.txt

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

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

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

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

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

[root@oldboyedu ~]# cut -d":" -f3,4 /etc/passwd

0:0

1:1

2:2

[root@oldboyedu ~]# cat b.txt

oldboy 49000448

[root@oldboyedu ~]# cut -c1-6,8- b.txt

oldboy4900044

awk語(yǔ)法:

awk? [option]? 'pattern{action}' file ...

awk? [參數(shù)]? ? ? '條件{動(dòng)作}'? ? 文件 ...

參數(shù):

-F 指定分隔符

打印第一列:

[root@oldboyedu ~]# awk -F ":" '{print $1}' oldboyedu.txt

[root@oldboyedu ~]# awk -F ":" '{print $3,$5}' oldboyedu.txt

列:$1第一列 $2第二列 以此類(lèi)推....

$0? 整行

$NF 最后一列 倒數(shù)第一列

$(NF-1) 倒數(shù)第二列

問(wèn)題1:取test.txt文件的第2行到第3行的內(nèi)容房官。

[root@oldboyedu ~]# awk 'NR>1&&NR<4' oldboyedu.txt

[root@oldboyedu ~]# awk 'NR==2,NR==3' oldboyedu.txt

問(wèn)題2:過(guò)濾出含有root字符串的行※趾徽。

[root@oldboyedu ~]# awk '/root/' oldboyedu.txt

[root@oldboyedu ~]# awk /root/ oldboyedu.txt

問(wèn)題3:刪除含有root字符串的行※。

[root@oldboyedu ~]# awk '/^[^r]/' oldboyedu.txt

[^r]? 非r

^[^r] 以非r字符卡頭

問(wèn)題4:取文件的第一列翰守、第三列和最后一列內(nèi)容附较,并打印行號(hào)※。

[root@oldboyedu ~]# awk -F ":" '{print NR,$1,$3,$NF}' oldboyedu.txt

問(wèn)題5:取出Linux中執(zhí)行ifconfig eth0后對(duì)應(yīng)的IP地址(只能輸出IP地址)潦俺。

[root@oldboyedu ~]# ifconfig eth0|awk 'NR==2{print $2}'

10.0.0.201

C6

[root@oldboy ~]# ifconfig eth0

[root@oldboy ~]# ifconfig eth0|awk 'NR==2{print $2}'

addr:10.0.0.202

[root@oldboy ~]# ifconfig eth0|awk 'NR==2{print $2}'|awk -F ":" '{print $2}'

10.0.0.202

[root@oldboy ~]# ifconfig eth0|awk -F "[: ]+" 'NR==2{print $4}'

10.0.0.202

問(wèn)題6:過(guò)濾文件中第一列內(nèi)容匹配root的字符串,把符合的行的最后一列輸出

awk -F ":" '$1~/root/ {print $NF}' test.txt

問(wèn)題

問(wèn)題1:取test.txt文件的第2行到第3行的內(nèi)容徐勃。

問(wèn)題2:過(guò)濾出含有root字符串的行※事示。

問(wèn)題3:刪除含有root字符串的行※。

問(wèn)題4:取文件的第一列僻肖、第三列和最后一列內(nèi)容肖爵,并打印行號(hào)※。

問(wèn)題5:取出Linux中執(zhí)行ifconfig eth0后對(duì)應(yīng)的IP地址(只能輸出IP地址)臀脏。

問(wèn)題6:過(guò)濾文件中第一列內(nèi)容匹配root的字符串劝堪,把符合的行的最后一列輸出

問(wèn)題7:過(guò)濾下列test1.txt文件中第三列內(nèi)容分?jǐn)?shù)大于70,并且小于95的人名和性別揉稚。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秒啦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子搀玖,更是在濱河造成了極大的恐慌余境,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灌诅,死亡現(xiàn)場(chǎng)離奇詭異芳来,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)猜拾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)即舌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人挎袜,你說(shuō)我怎么就攤上這事顽聂。” “怎么了盯仪?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵芜飘,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我磨总,道長(zhǎng)嗦明,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任蚪燕,我火速辦了婚禮娶牌,結(jié)果婚禮上奔浅,老公的妹妹穿的比我還像新娘。我一直安慰自己诗良,他們只是感情好汹桦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著鉴裹,像睡著了一般舞骆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上径荔,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天督禽,我揣著相機(jī)與錄音,去河邊找鬼总处。 笑死狈惫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鹦马。 我是一名探鬼主播胧谈,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼荸频!你這毒婦竟也來(lái)了菱肖?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤旭从,失蹤者是張志新(化名)和其女友劉穎蔑滓,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體遇绞,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡键袱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摹闽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹄咖。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖付鹿,靈堂內(nèi)的尸體忽然破棺而出澜汤,到底是詐尸還是另有隱情,我是刑警寧澤舵匾,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布俊抵,位于F島的核電站,受9級(jí)特大地震影響坐梯,放射性物質(zhì)發(fā)生泄漏徽诲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谎替。 院中可真熱鬧偷溺,春花似錦、人聲如沸钱贯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)秩命。三九已至尉共,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間弃锐,已是汗流浹背袄友。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拿愧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓碌尔,卻偏偏與公主長(zhǎng)得像浇辜,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唾戚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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