正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解-創(chuàng)新互聯(lián)

博文大綱:
一、正則表達(dá)式
(1)正則表達(dá)式的定義
(2)正則表達(dá)式用途
1.基礎(chǔ)正則表達(dá)式
(1)grep命令工具
2.擴(kuò)展正則表達(dá)式
二、文本編輯處理器
1.grep命令工具
2.sed命令工具
3.awk命令工具

10年積累的做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有連平免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

一、正則表達(dá)式

(1)正則表達(dá)式的定義

正則表達(dá)式又稱(chēng)正規(guī)表達(dá)式、常規(guī)表達(dá)式。在代碼中常簡(jiǎn)寫(xiě)為regex、regexp或RE。正則表達(dá)式是使用單個(gè)字符串來(lái)描述,匹配一系列符合某個(gè)句法規(guī)則的字符串。簡(jiǎn)單的說(shuō),正則表達(dá)式是一種匹配字符串的方法,通過(guò)一些特殊符號(hào),實(shí)現(xiàn)快速查找、刪除、替換某個(gè)特定字符串。

正則表達(dá)式是由普通字符與元字符組成的文字模式。該模式用于描述在搜索文本時(shí)要匹配的一個(gè)或多個(gè)字符串。正則表達(dá)式作為一個(gè)模板,將某個(gè)字符模式與搜索的字符串進(jìn)行匹配。其中,普通字符包括大小寫(xiě)字母、數(shù)字、標(biāo)點(diǎn)符號(hào)及一些其他符號(hào),元字符則是指那些在正則表達(dá)式中具有特殊意義的專(zhuān)用字符,可以用來(lái)規(guī)定其前導(dǎo)字符(即位于元字符前面的字符)在目標(biāo)對(duì)象中的出現(xiàn)模式。

正則表達(dá)式一般用于腳本編程與文本編輯器。很多文本處理器與程序設(shè)計(jì)語(yǔ)言均支持正則表達(dá)式。比如,LInux系統(tǒng)經(jīng)常用到的文本處理器(grep、egrep、sed、awk),正則表達(dá)式具備很強(qiáng)大的文本匹配功能,能夠在文本海洋中快速高效地處理文本。

(2)正則表達(dá)式用途

正則表達(dá)式對(duì)于系統(tǒng)管理員來(lái)說(shuō)是非常重要的,系統(tǒng)運(yùn)行過(guò)程中會(huì)產(chǎn)生大量的信息,這些信息中有些是非常重要的,有些僅僅是警告的信息。身為系統(tǒng)管理員如果直接查看這么多的信息數(shù)據(jù),無(wú)法快速定位到非常重要的信息。如“用戶(hù)賬號(hào)登錄失敗”、“服務(wù)啟動(dòng)失敗”等重要信息。這是便可以通過(guò)正則表達(dá)式快速提取有問(wèn)題的信息,如此一來(lái),可以將運(yùn)維工作變得更加簡(jiǎn)單、方便。

系統(tǒng)語(yǔ)系對(duì)正則表達(dá)式的影響是非常大的!
zh_TW.big5 及 C 這兩種語(yǔ)系的輸出結(jié)果分別如下:
LANG=C 時(shí):0 1 2 3 4 ... A B C D ... Z a b c d ...z
LANG=zh_TW 時(shí):0 1 2 3 4 ... a A b B c C d D ... z Z

為了要避免這樣編碼所造成的英文與數(shù)字的截取問(wèn)題,因此有些特殊的符號(hào)我們得要了解一下的!如圖:
正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解

目前很多軟件也支持正則表達(dá)式。在Internet中,垃圾廣告、郵件等將會(huì)造成網(wǎng)絡(luò)塞車(chē),如果在服務(wù)器端就將這些問(wèn)題提前剔除的話,客戶(hù)端就會(huì)減少很多不必要的帶寬消耗。

作為L(zhǎng)inux系統(tǒng)管理員來(lái)說(shuō),掌握正則表達(dá)式是必備的條件之一。

1.基礎(chǔ)正則表達(dá)式

正則表達(dá)式的字符串表達(dá)方式根據(jù)不同的嚴(yán)謹(jǐn)程度分為基本正則表達(dá)式與擴(kuò)展正則表達(dá)式。基礎(chǔ)正則表達(dá)式是常用的正則表達(dá)式的最基礎(chǔ)的部分。在Linux系統(tǒng)中常見(jiàn)的文件處理工具中g(shù)rep和sed支持正則表達(dá)式,而egrep與awk支持?jǐn)U展正則式。掌握基礎(chǔ)正則表達(dá)式的使用方法,首先必須了解基本正則表達(dá)式所包含的元字符的含義。

(1)grep命令工具

1)基礎(chǔ)正則表達(dá)式示例:
[root@localhost ~]# grep -n 'the' test.txt 
//查找包含the的行
[root@localhost ~]# grep -vn 'the' test.txt
//查找不包含the的行
[root@localhost ~]# grep -in 'the' test.txt
//查找包含the的行,而且不區(qū)分大小寫(xiě)
[root@localhost ~]# grep -n 'sh[io]rt' test.txt 
//查找以sh開(kāi)頭,以rt結(jié)尾,中間是i或o的字符
[root@localhost ~]# grep -n '[^w]oo' test.txt 
//查詢(xún)oo前面不是w的字符串
[root@localhost ~]# grep -n '[^a-z]oo' test.txt 
//查詢(xún)oo前面不是小寫(xiě)字母的字符串
[root@localhost ~]# grep -n '^the' test.txt 
//查詢(xún)以the開(kāi)頭的字符串(^表示開(kāi)頭)
[root@localhost ~]# grep -n '^[^a-zA-Z]' test.txt 
//查詢(xún)不以字母開(kāi)頭的字符串([^]則表示反向的意思)
[root@localhost ~]# grep -n '\.$' a.txt 
//查詢(xún)以“.”結(jié)尾的字符串
//$表示行尾的意思,因?yàn)椤?”是特殊元字符,所以需要使用“\”跳脫字符將其轉(zhuǎn)為普通字符
[root@localhost ~]# grep -n 'w..d' test.txt 
//查詢(xún)w與d之間包含兩個(gè)字符的行(“.”匹配任意一個(gè)字符)
[root@localhost ~]# grep -n 'ooo*' test.txt 
//查找至少包含兩個(gè)o的字符串,“*”表示的是重復(fù)零個(gè)或多個(gè)前面的單字符
[root@localhost ~]# grep -n 'woo*d' test.txt 
//查詢(xún)以w開(kāi)頭,以d結(jié)尾中間至少包含一個(gè)o的行
[root@localhost ~]# grep -n 'w.*d' test.txt 
查詢(xún)以w開(kāi)頭d結(jié)尾,中間的字符可有可無(wú)的行(“.”表示任意)
[root@localhost ~]# grep -n 'o\{2\}' test.txt 
//{n}匹配確定的n次。查詢(xún)包含兩個(gè)o的行(“{}”是特殊字符需要用“\”轉(zhuǎn)義)
[root@localhost ~]# grep -n 'wo\{2,5\}' test.txt 
//查詢(xún)以w開(kāi)頭d結(jié)尾,中間包含2~5個(gè)o的行({n,m}最少匹配n次且最多m次)
[root@localhost ~]# grep -n 'wo\{2,\}' test.txt 
查詢(xún)以w開(kāi)頭以d結(jié)尾,中間包含2個(gè)以上o的行({n,}至少匹配n次)
2)基礎(chǔ)正則表達(dá)式常見(jiàn)元字符總結(jié),如圖:

正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解

2.擴(kuò)展正則表達(dá)式

通常情況下會(huì)使用基礎(chǔ)正則表達(dá)式就已經(jīng)足夠了,但是為了簡(jiǎn)化整個(gè)指令,需要使用范圍更廣的擴(kuò)展正則表達(dá)式。

在Linux系統(tǒng)常見(jiàn)的文本處理工具中egrep與awk支持?jǐn)U展正則表達(dá)式,egrep命令與grep命令的用法基本相似。

1)擴(kuò)展正則表達(dá)式常見(jiàn)元字符總結(jié)

正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解

二、文本編輯處理器

1.grep命令工具

在基礎(chǔ)正則表達(dá)式中已經(jīng)提到,這里就不詳細(xì)介紹了!

2.sed命令工具

sed是一個(gè)強(qiáng)大而簡(jiǎn)單的文本解析轉(zhuǎn)換工具,可以讀取文本,并根據(jù)指定的條件對(duì)文本內(nèi)容進(jìn)行編輯,最后輸出所有行活僅輸出處理的某些行,sed可以在無(wú)交互的情況下實(shí)現(xiàn)相當(dāng)復(fù)雜的文本處理操作。被廣泛的應(yīng)用于shell腳本中,用于完成各種自動(dòng)化處理任務(wù)。

sed的工作流程主要包括:

  1. 讀取:sed從輸入流中讀取一行內(nèi)容不能夠存儲(chǔ)到臨時(shí)的緩沖區(qū)中;
  2. 執(zhí)行:默認(rèn)情況下所有的sed命令都在模式空間中按順序地執(zhí)行,除非指定了行的地址,否則sed命令將會(huì)再所有行上依次執(zhí)行;
  3. 顯示:發(fā)送修改后的內(nèi)容到輸出流,再發(fā)送數(shù)據(jù)后,模式空間將會(huì)被清空。
    注意:在所有的文件內(nèi)容都被處理完成之前,上述過(guò)程將重復(fù)執(zhí)行,直至所有內(nèi)容都被處理完。

1)sed命令的語(yǔ)法及相關(guān)參數(shù):

常見(jiàn)的sed命令選項(xiàng)常見(jiàn)的參數(shù),如圖:
正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解

如果要求在第幾行到第幾行之間進(jìn)行修改等,常見(jiàn)的操作參數(shù)包括:
正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解

2)sed命令用法示例

注意以下操作不會(huì)改變文件本身內(nèi)容,如果需要修改必須帶“-i”選項(xiàng)

(1)使用sed命令篩選符合條件
[root@localhost ~]# sed -n 'p' test.txt 
//輸出所有內(nèi)容,等同于“cat test.txt”
[root@localhost ~]# sed -n '3p' test.txt 
//輸出第三行內(nèi)容
[root@localhost ~]# sed -n '3,5p' test.txt 
//輸出3~5行
[root@localhost ~]# sed -n 'p;n' test.txt
//輸出所有奇數(shù)行,n表示讀入下一行數(shù)據(jù)
[root@localhost ~]# sed -n 'n;p' test.txt 
//輸出所有偶數(shù)行,n表示讀入下一行數(shù)據(jù)
[root@localhost ~]# sed -n '1,5{p;n}' test.txt 
//輸出第1行~第5行之間的奇數(shù)行(第1、3、5行)
[root@localhost ~]# sed -n '10,${n;p}' test.txt
//輸出第10行至文件尾部之間的偶數(shù)行(包括空行)

sed命令與正則表達(dá)式結(jié)合使用的案例

sed命令結(jié)合正則表達(dá)式時(shí),格式略微有些不同,正則表達(dá)式以“/”包圍。

[root@localhost ~]# sed -n '/the/p' test.txt
//輸出包含“the”的行
[root@localhost ~]# sed -n '4,/the/p' test.txt
//輸出從第4行到都第一個(gè)包含“the”的行
[root@localhost ~]# sed -n '/the/=' test.txt
//輸出包含“the”的行所在的行號(hào)(等號(hào)(=)用來(lái)輸出行號(hào))
[root@localhost ~]# sed -n '/^PI/p' test.txt
//輸出以“PI”開(kāi)頭的行
[root@localhost ~]# sed -n '/\<wood\>/p' test.txt 
//輸出包含單詞wood的行,\<、\>代表單詞邊界
(2)刪除符合條件的文本

nl命令用于計(jì)算文件的行數(shù)

[root@localhost ~]# nl test.txt | sed '3d'
//刪除第3行
[root@localhost ~]# nl test.txt | sed '3,5d'
//刪除第3~5行
[root@localhost ~]# nl test.txt | sed '/cross/d'
//刪除包含cross的行,原本的第8行被刪除
[root@localhost ~]# nl test.txt | sed '/cross/! d'
//刪除不包含cross的行
[root@localhost ~]# sed '/\.$/d' test.txt 
//刪除以“.”結(jié)束的行
[root@localhost ~]# sed '/^$/d' test.txt 
//刪除所有空行
[root@localhost ~]# sed -e '/^$/{n;/^$/d}' test.txt
//刪除空行,連續(xù)的空行留一個(gè)
(3)替換符合條件的文本

使用sed命令進(jìn)行替換操作時(shí)需要用到的選項(xiàng):s(字符串替換)、c(整行/整塊替換)、y(字符轉(zhuǎn)換)等命令選項(xiàng)。

[root@localhost ~]# sed 's/the/THE/' test.txt
//將每行中的第一個(gè)the替換為T(mén)HE
[root@localhost ~]# sed 's/l/L/2' test.txt
//將每行中的第三個(gè)“l(fā)”替換為“L”
[root@localhost ~]# sed 's/the/THE/g' test.txt 
//將文件中所有的“the”替換為“THE”
[root@localhost ~]# sed 's/o//g' test.txt 
//將文件中所有的“o”刪除
[root@localhost ~]# sed 's/^/#/' test.txt 
//在每行的行首插入“#”號(hào)
[root@localhost ~]# sed '/the/s/^/#/' test.txt 
//在包含“the”的每行行首插入“#”號(hào)
[root@localhost ~]# sed 's/$/EOF/' test.txt 
//在每行行尾插入字符串“EOF”
[root@localhost ~]# sed '3,5s/the/THE/g' test.txt 
//將第3~5行中的所有“the”替換為“THE”
[root@localhost ~]# sed '/the/s/o/O/g' test.txt 
//將包含“the”的所有行中的o替換為“O”

以上“sed -i”的命令則是直接修改文件內(nèi)容,立即生效的!

[root@localhost ~]# sed -i '1c 1111' a.txt 
//替換文中第一行的內(nèi)容為“1111”
[root@localhost ~]# sed -i '1a 1111' a.txt 
//在第一行后面插入一行內(nèi)容,內(nèi)容為“1111”
[root@localhost ~]# sed -i '1i 2222' a.txt
//在第一行前面插入一行內(nèi)容,內(nèi)容為“2222”
[root@localhost ~]# sed -i '1d' a.txt
//刪除第一行內(nèi)容
[root@localhost ~]# sed -n '1p' a.txt
//打印出第一行的內(nèi)容
[root@localhost ~]# sed -i '1s/2222/3333/g' a.txt 
//將文本第一行內(nèi)容“2222”替換為“3333”
(4)遷移符合條件的文本

使用sed命令進(jìn)行遷移文本操作時(shí)需要用到的選項(xiàng)有:

  • g、G將剪貼板中的數(shù)據(jù)覆蓋/追加到指定行;
  • w保存為文件;
  • r讀取指定文件;
  • a追加指定內(nèi)容。
[root@localhost ~]# sed '/the/{H;d};$G' test.txt 
//將包含“the”的行遷移到文件末尾,“;”用于多個(gè)操作
[root@localhost ~]# sed '1,5{H;d};17G' test.txt 
//將第1~5行的內(nèi)容轉(zhuǎn)移到第17行后
[root@localhost ~]# sed '/the/w out.file' test.txt 
//將包含“the”的行另存為文件out.file
[root@localhost ~]# sed '/the/r /etc/hostname' test.txt 
//將文件/etc/hostname的內(nèi)容添加到包含“the”的每行以后
[root@localhost ~]# sed '3aNEW' test.txt 
//在第3行后面插入一個(gè)新行,內(nèi)容為“NEW”
[root@localhost ~]# sed '/the/aNEW' test.txt 
//在包含“the”的每行后插入一個(gè)新行,內(nèi)容為“NEW”
[root@localhost ~]# sed '3aNEW1\nNEW2' test.txt
//在第3行后面多行內(nèi)容,中間的“\n”表示換行
(5)使用腳本編輯文件

使用sed腳本,將編輯指令存放到文件中(每行一條標(biāo)記指令),通過(guò)“-f”選項(xiàng)來(lái)調(diào)用。

[root@localhost ~]# sed '1,5{H;d};17G' test.txt
//將第1~5行內(nèi)容轉(zhuǎn)移至第17行后

以上操作轉(zhuǎn)換為腳本文件方式:

[root@localhost ~]# vim 1.list
1,5H
1,5d
17G
[root@localhost ~]# sed -f 1.list test.txt
(6)sed直接操作文件示例

編寫(xiě)一個(gè)腳本,用來(lái)調(diào)整vsftpd服務(wù)配置:禁止匿名用戶(hù),但允許本地用戶(hù)(也允許寫(xiě)入)登錄。

[root@localhost ~]# vim local_only_ftp.sh
#!/bin/bash
S="/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INSERNET_SITE/vsftpd.conf"
C="/etc/vsftpd/vsftpd.conf"
#指定樣本文件路徑、配置文件路徑
[ ! -e "$C.bak" ] && cp $C $C.bak
#備份原來(lái)的配置文件,檢測(cè)(配置文件.bak)是否存在,如果不存在則使用cp命令復(fù)制
sed -e '/^anonymous_enable/s/YES/NO/g' $S > $C
sed -i -e '/^local_enable/s/NO/YES/g' -e '/^write_enable/s/NO/YES/g' $C
grep "listen" $C || sed -i '$alisten=YES' $A
#基于樣本配置進(jìn)行調(diào)整,覆蓋現(xiàn)有文件
systemctl restart vsftpd
systemctl enable vsftpd
#重啟ftp服務(wù),并設(shè)置為開(kāi)機(jī)自啟動(dòng)

3.awk命令工具

在Linux/UNIX系統(tǒng)中,awk是一個(gè)功能強(qiáng)大的編輯工具,逐行讀取輸入文本,并根據(jù)指定的匹配模式進(jìn)行查找,對(duì)符合條件的內(nèi)容進(jìn)行格式化輸出或者過(guò)濾處理,可以在無(wú)交互的情況下實(shí)現(xiàn)相當(dāng)復(fù)雜的文本操作,被廣泛應(yīng)用于Shell腳本,完成各種自動(dòng)化配置任務(wù)。

1)awk命令概述

awk執(zhí)行結(jié)果可以通過(guò)print的功能將字段數(shù)據(jù)打印顯示。在使用awk命令的過(guò)程中,可以使用邏輯操作符“&&”和“||”;
也可以進(jìn)行簡(jiǎn)單的數(shù)學(xué)運(yùn)算,如+ 、-、*、/、%、^分別表示加、減、乘、除、取余、乘方。

awk從輸入文件或者標(biāo)準(zhǔn)輸入中讀入信息,與sed一樣,信息的讀入也是逐行讀取的。不同的是,awk命令將文本文件中的一行視為一個(gè)記錄,而將一行中的某一部分(列)作為記錄的一個(gè)字段。為了操作這些不同的字段(列),awk借用shell中類(lèi)似于位置變量的方法,用$1、$2…$9順序的表示不同列,$0表示整行。不同字段與不同字段可以通過(guò)指定的方式進(jìn)行分隔,awk默認(rèn)的分隔符是空格。awk命令允許使用“-F分隔符”的形式來(lái)指定分隔符。

awk命令對(duì)/etc/passwd文件的處理過(guò)程,如圖:
正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解

awk包含幾個(gè)特殊的內(nèi)建變量,如:
正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解

2)awk命令用法示例

(1)按行輸出文本
[root@localhost ~]# awk '{print}' test.txt 
//輸出所有內(nèi)容,等同于“cat test.txt”
[root@localhost ~]# awk '{print $0}' test.txt
//輸出所有內(nèi)容,等同于“cat test.txt”
[root@localhost ~]# awk 'NR==1,NR==3{print}' test.txt 
//輸出第1~3行的內(nèi)容
[root@localhost ~]# awk '(NR>=1) && (NR<=3) {print}' test.txt 
//輸出第1~3行的內(nèi)容
[root@localhost ~]# awk 'NR==1 || NR==3{print}' test.txt 
//輸出第1行、第3行的內(nèi)容
[root@localhost ~]# awk '(NR%2)==1 {print}' test.txt 
//輸出所有奇數(shù)行的內(nèi)容
[root@localhost ~]# awk '(NR%2)==0 {print}' test.txt 
//輸出所有偶數(shù)行的內(nèi)容
[root@localhost ~]# awk '/^root/{print}' /etc/passwd
//輸出以“root”開(kāi)頭的行
[root@localhost ~]# awk '/nologin$/{print}' /etc/passwd
//輸出以“nologin”結(jié)尾的行
[root@localhost ~]# awk 'BEGIN {x=0} ;/\/bin\/bash$/{x++};END {print x}' /etc/passwd
//統(tǒng)計(jì)以/bin/bash結(jié)尾的行數(shù)
[root@localhost ~]# grep -c "/bin/bash$" /etc/passwd
//統(tǒng)計(jì)以/bin/bash結(jié)尾的行數(shù)
[root@localhost ~]# awk 'BEGIN{RS=""}; END{print NR}' /etc/squid/squid.conf
//統(tǒng)計(jì)以空格分隔的文件段落數(shù)

注意:命令較多時(shí),使用“BEGIN……END”

(2)按字段輸出文本
[root@localhost ~]# awk '{print $3}' test.txt 
//輸出每行中(以空格分隔)的第3個(gè)字段
[root@localhost ~]# awk '{print $1,$3}' test.txt 
//輸出每行中(以空格分隔)的第1個(gè)和第3個(gè)字段
[root@localhost ~]# awk -F ":" '$2==""{print}' /etc/shadow
//輸出/etc/shadow文件中(以“:”分隔)的第二個(gè)字段(密碼為空的用戶(hù))
[root@localhost ~]# awk 'BEGIN {FS=":"}; $2=""{print}' /etc/shadow
//輸出/etc/shadow文件中(以“:”分隔)的第二個(gè)字段(密碼為空的用戶(hù))
[root@localhost ~]# awk -F ":" '$7~"/bash"{print $1}' /etc/passwd
//輸出以“:”分隔且第7個(gè)字段中包含“/bash”的行的第1個(gè)字段
[root@localhost ~]# awk '($1~"nfs") && (NF==8) {print $1,$2}' /etc/services
//輸出包含8個(gè)字段且第1個(gè)字段中包含“nfs”的行的第1、2個(gè)字段
[root@localhost ~]# awk -F ":" '($7!="/bin/bash") && ($7!="/sbin/nologin") {print}' /etc/passwd
//輸出第7個(gè)字段既不為“/bin/bash”也不為“/bin/nologin”的所有行
(3)通過(guò)管道,雙引號(hào)調(diào)用Shell命令
[root@localhost ~]# awk -F: '/bash$/{print | "wc -l"}' /etc/passwd
//調(diào)用“wc -l”命令統(tǒng)計(jì)使用“bash”的用戶(hù)個(gè)數(shù)
[root@localhost ~]# grep -c "bash$" /etc/passwd
//同上一條命令一樣的作用
[root@localhost ~]# awk 'BEGIN {while ("w" | getline) n++ ; {print n-2}}'
//調(diào)用“w”命令,并用力啊統(tǒng)計(jì)在線用戶(hù)數(shù)
[root@localhost ~]# awk 'BEGIN { "hostname" | getline ; print $0}'
//調(diào)用“hostname”命令,并輸出當(dāng)前用戶(hù)名
(4)使用awk命令進(jìn)行簡(jiǎn)單的數(shù)學(xué)運(yùn)算
[root@localhost ~]# awk 'BEGIN{ a=6;b=3;print"(a + b)=",(a + b)}'
(a + b)= 9
[root@localhost ~]# awk 'BEGIN{ a=6;b=3;print"(a - b)=",(a - b)}'
(a - b)= 3
[root@localhost ~]# awk 'BEGIN{ a=6;b=3;print"(a / b)=",(a / b)}'
(a / b)= 2
[root@localhost ~]# awk 'BEGIN{ a=6;b=3;print"(a % b)=",(a % b)}'
(a % b)= 0

更加詳細(xì)的awk命令,可以參考博文:awk學(xué)習(xí)

———————— 本文至此結(jié)束,感謝閱讀 ————————

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前標(biāo)題:正則表達(dá)式及編程三劍客(grep、sed、awk)命令詳解-創(chuàng)新互聯(lián)
路徑分享:http://bm7419.com/article8/dgdiip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司動(dòng)態(tài)網(wǎng)站、網(wǎng)站改版、靜態(tài)網(wǎng)站網(wǎng)站建設(shè)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司