91精产品自偷自偷综合官网版下载-91精产品自偷自偷综合下-91精品-91精品91久久久-91精品成人-91精品成人www

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

linux文本命令三劍客 linux三個幫助命令

Linux三劍客awk命令篇二:命令操作符

Linux三劍客awk命令篇二:命令操作符

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

關(guān)于awk的原理等基本知識請參考上篇:

Linux三劍客awk命令篇一:原理及基本命令

補充

1、語法格式:

(1) Awk完整語法

awk 'BEGIN{commands} pattern{commands}END{commands} ' file

BEGIN{commands}:處理數(shù)據(jù)前執(zhí)行的命令。

END{commands}:處理完數(shù)據(jù)后執(zhí)行的命令。

這兩個命令可以省略。見(2)

(2) Awk基本語法

awk -F '分割符' '/模式/{動作} ' file

這里的 '/模式/{動作} ' 類似于sed的命令格式。

模式:

(1) 正則表達式(注意格式: /正則表達式/ )

(2) 條件表達式(例如: 等等)

總結(jié):

這里的模式通俗來講是 用來找誰, 而動作表示是 干啥。

2、 awk的命令操作符

(1) 正則表達式與bash一致

(2) + - * / % ++ --

(3) || !

(4) = = != == ~ !~

~:表示匹配后面的模式,用于字段,見 案例1 。

其余的都比較常見就不舉例了。

3、案例

案例1:

~使用案例

awk -F : '$3 ~ /\...\/{print $1,$3}' /etc/passwd

解釋:

模式:\...\

\ \表示定界符,只匹配3個字符。

$3 ~:表示$3這個字段必須符合后面模式(\...\)的要求。

見如下輸出結(jié)果,$3都是3個字符。

案例2:

% || ==使用案例

seq 100 | awk '$1 % 7 == 0 || $1 ~ /^99/{print $1}'

輸出結(jié)果的要求:

整除7或者以99開頭

案例3:

++使用

awk 'BEGIN{num=0}{num++}END{print num}' /etc/passwd

簡單解釋:

BEGIN{num=0}:定義一個變量num

{num++}:這里沒有模式,只有動作。

即每匹配到文件/etc/passwd的一行就執(zhí)行num++

END{print num}:文件遍歷結(jié)束,打印num的值,即文件的行數(shù)。

這里我們使用wc -l驗證也是沒問題的。

cat /etc/passwd | wc -l

上面3個案例簡單的使用了awk的命令操作符。

雖然只是用到了幾個簡單的,但是其他同理,大家可以執(zhí)行操作。

下一篇:

Linux三劍客awk命令篇二之內(nèi)部變量

歡迎大家給予寶貴的意見或者建議。

歡迎大家補充或者共享一些其他的方法。

感謝支持。

linux 三劍客(awk、sed、grep)

可以根據(jù)文件指定分隔符,像處理表格一樣處理文本或序列。通常來處理字段,并基于字段進行過濾,或進行模式匹配。

語法

常用的內(nèi)建變量

NF :記錄的字段數(shù)

NR :記錄的行號

OFS :輸出字段分隔符,默認(rèn)值與輸入字段分隔符一致。

ORS :輸出記錄分隔符(默認(rèn)值是一個換行符)

$n :當(dāng)前記錄的第n個字段,字段間由FS分隔

$0 :完整的輸入記錄

ARGV :包含命令行參數(shù)的數(shù)組

ARGC :命令行參數(shù)的數(shù)目

基本用法

awk 腳本

關(guān)于 awk 腳本,我們需要注意兩個關(guān)鍵詞 BEGIN 和 END。

BEGIN{ 這里面放的是執(zhí)行前的語句 }

END {這里面放的是處理完所有的行后要執(zhí)行的語句 }

{這里面放的是處理每一行時要執(zhí)行的語句

以上的應(yīng)用案例基本包括了常用的awk 的常用用法,更復(fù)雜的文本處理則可以通過awk 腳本完成。

與awk 相比,sed在處理文本的行具有更好的效率。

基本語法

參數(shù)說明

sed 文件處理命令

包括增加、刪除、打印、替換行的內(nèi)容

應(yīng)用案例

以上的案例表明,sed 的一些操作可以放在行的末尾,或者放在模式匹配的末尾,或者在大括號內(nèi)以分號分隔,或者通過-e 命令,實現(xiàn)多點編輯。

grep 查找文件里符合條件的字符串。

語法

應(yīng)用案例

grep 除了可以查找單個文件中匹配的模式,也可以在目錄中包含特定字符的文件查找匹配模式的行。

linux三劍客教程 提升運維效率

1、Linux 三劍客是(grep,sed,awk)三者的簡稱,熟練使用這三個工具可以提升運維效率。

2、Linux 三劍客以正則表達式作為基礎(chǔ),而在Linux系統(tǒng)中,支持兩種正則表達式,分別為“標(biāo)準(zhǔn)正則表達式”和“擴展正則表達式”。

3、在掌握好正則表達式后,將具體講解三劍客的用法。

4、可以看到標(biāo)準(zhǔn)正則表達的使用過程中,許多符號都需要轉(zhuǎn)義,這在工作中帶來了一定的不便,因此擴展的正則表達式便出現(xiàn)了。

Linux三劍客之grep

說起Linux操作系統(tǒng)中的 grep 命令,或許沒有人會不知道。在我看來, grep 命令是Linux操作系統(tǒng)上最強大的工具之一,正如你無時無刻不在使用它。無論是從文件中找到匹配的行,又或者是從終端輸出中獲取指定信息,都離不開對 grep 的使用。

了解一個工具的使用,還是先看這個工具的man手冊會告訴我們什么。

手冊中提到, grep 工具還有兩個孿生兄弟,分別是 egrep 和 fgrep 。其中, egrep 相當(dāng)于 grep -E 的用法,使用的是擴展形式的正則表達式; fgrep 相當(dāng)于 grep -F 的用法,根據(jù)固定模式進行內(nèi)容匹配。

對于任何的Linux操作系統(tǒng),你可以很輕松的找到 /etc/passwd 文件,以下的多數(shù)演示將會以該文件進行演示。以下為用戶的部分信息

grep 命令的格式相對比較簡單。完整的命令格式如 grep [OPTIONS] PATTERN [FILE...] ,其中 [OPTIONS] 選項提供了眾多的參數(shù),如下

如果需要找到包含 root 用戶和 adm 用戶的行,可以通過 grep -E "root|adm" /etc/passwd 來查找所有滿足的行

了解 grep 的常用參數(shù)可以在工作中解決絕大部份的問題,但在一些情況下,需要對過濾出的內(nèi)容按照某種規(guī)則進行精確匹配,還需要配合正則使用。以下介紹了幾種常用的正則語法

Linux三劍客(sed)-編輯匹配到的文本

sed編輯器是一行一行的處理文件,正在處理的內(nèi)容存放在模式空間(緩沖區(qū))中,處理完畢后按照選項的規(guī)定進行輸出或文件的修改。

sed主要用來自動編輯一個或多個文件;簡化文件的反復(fù)操作,用于非交互編譯文件。

可以使用一個簡單的數(shù)字,或是一個行號范圍

注意:p的動作是:打印匹配行。

1. 原始文件:

2. sed的默認(rèn)動作

(1)sed的默認(rèn)動作是打印文件中的所有行。

3. 打印特定行

(1)因為sed命令默認(rèn)打印文件中所有行。所以第三行會被打印兩遍。那如何只打印第三行呢?使用【-n】命令,只打印匹配的行。

(2)使用【-n】命令,只打印匹配到的行

(3)打印[n,m]行

(4)打印包含模式的行

(5)打印包含模式和指定行號之間的行

(6)包含模式和包含模式之間的行

(7) {}執(zhí)行多個命令(command),使用;隔開。=是顯示文件行的行號。p是打印匹配行

(8)!取反操作

(9)q命令:第一個模式匹配完成后退出或立即退出,使用該命令打印前5行

(1)使用[]進行正則匹配

(2)其他的正則表達式

(1)打印出以#開頭的行,然后用!進行反選,則表示過濾掉以#開頭的行,不會過濾掉空格。

(2)匹配以#開頭的行,進行取反,則打印出非#開頭的行,然后其結(jié)果在對空格開頭的行進行取反。即 過濾掉以#開頭的行和以空格開頭的行。 {}表示在定位行執(zhí)行的命令組。

(3)sed支持對單個文件實現(xiàn)不同的操作,每個操作用-e參數(shù)。定位到執(zhí)行的行后,使用d命令,直接刪除匹配到的行。

需要注意的是,對源文件的添加要使用【-i】參數(shù)。

s:使用替換模式替換相應(yīng)模式

(1)在匹配行前面替換字符,使用【s】命令。

(2)在所有行開頭替換元素【s】

(3)在所有行的末尾替換元素

(4)指定行,進行替換操作

(5)【】符號代表的是匹配到的字符。在匹配到字符后,可以使用代替。

(6)在匹配到行前面添加一行,使用【i】的命令

(7)在匹配行的后面添加一行,使用【a】命令

(8)當(dāng)添加多行時,使用\n來轉(zhuǎn)義

(9)@代表的是【地址定界符】,一般由三個組成,定界符可以是/,$,#等特殊字符,此命令表示,匹配特定字符的行進行替換。

(10)使用命令【g】修改全文中出現(xiàn)的匹配字符。

(11)若后面接數(shù)字之后在接g,表示匹配的行中,第幾次出現(xiàn)。就替換,2g表示替換行中第二次出現(xiàn)。

(1)刪除以非#號開頭的行,即顯示以#號開頭的行。

(2)刪除第一行

(3)刪除最后一行

(4)刪除指定的行區(qū)間

(5)刪除包含特定單詞的行

本文參考:

sed命令詳解

005 Linux 命令三劍客之-sed

三劍客各有所長,和鍋鍋一一搞起就是了!

使用示例:

使用示例:

使用示例:

sed [選項] s/[pattern]/[replace]/[flags]

[選項]常用的幾個參數(shù):

[pattern]

含義:待匹配的需要替換的內(nèi)容。

[replace]

常見的特殊含義字符:

[flags]

常見的可選參數(shù):

多個sed命令依次執(zhí)行,用分號分割或加選項 -e,

使用示例:

把 test.html 文件中的第二個 body 替換為 /body 。

分析實際就是把第二個 body 替換為 /body,命令如下。

把 test.html 文件中的第二個 body 替換為 /body 。

分析實際就是把第二個 body 替換為 /body,命令如下。

編寫執(zhí)行腳本的步驟如下:

touch sed.sh

sed.sh 中寫入腳本內(nèi)容:

對sed.sh 腳本賦予可執(zhí)行權(quán)限

chmod ug+x sed.sh

執(zhí)行sed.sh 腳本,對文件進行處理

sed -i -f sed.sh test.html


新聞標(biāo)題:linux文本命令三劍客 linux三個幫助命令
網(wǎng)站路徑:http://www.yuzhuanjia.cn/article/hjhdjg.html
主站蜘蛛池模板: 岛国大片在线免费观看 | 99久久人妻精品免费二区天天二区男人下载 | 91麻豆免费免费国产在线观看 | 97精品伊人久久久大香线蕉 | 波多野结系列18部无码观看a | 成在线人永久免费视频播放 | av中文字幕剧情不卡 | 91视频国产精品免费观看 | 91制片厂制作果冻大象传媒 | 午夜日韩 | 日韩av无码一区二区三区不卡毛 | 一区二区三区国产精品视频 | 午夜久色视频在线播放 | 午夜视频久久 | 动漫精品视频一区二区三区 | 高清乱码一区二区三区 | 韩国三级在线观看 | 97人人干 | 国产91在线播放边 | 午夜婷婷精品午夜无码A片影院 | a区在线观看 | 99久久精品视香蕉蕉er热资源 | 丰满人妻妇伦又伦精品APP国产 | av福利片在线观看 | v无码国产蜜桃麻豆 | 91精品久久久无码中文字幕69 | 午夜电影院理 | av在线手机国产探精品 | 91久久精品平台到底有哪些优势与风险?如何选择合适的使用 | 99久久精品国产成人综合 | 精品久久久久久久久久 | 一区二区三区四区精品视频 | 成人免费在线视频观看 | 午夜美女福利一区 | 97中文字幕在线观看 | 99久久人妻| 91久久人妻中文字幕色欲 | 97在线免费看视频 | av性色在线乱叫 | 91精品国产91久 | 97精品视频在线免费观看 |