bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

linux三劍客命令合集 linux三大劍客

linux三劍客的基本使用——grep、sed、awk

grep、sed、awk是linux功能非常強大的三個命令,grep是查找過濾文本,sed是對文本進行編輯替換,awk是對文本進行分析報告。

成都創新互聯網站建設公司,提供成都網站制作、網站建設、外貿網站建設,網頁設計,建網站,PHP網站建設等專業做網站服務;可快速的進行網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,是專業的做網站團隊,希望更多企業前來合作!

最簡單的理解就是找什么東西用grep,想修改什么內容用sed,想格式化內容用awk。

創建一個文件名為grep_text.txt的文件,并放入內容:

SillyMadman is both a madman and a fool.

Everyone agrees with this sentence.

我要查找在grep_text.txt文件里有Silly的行

命令是: grep Silly grep_text.txt

會返回內容:SillyMadman is both a madman and a fool.

也可以帶以下參數,這些我認為可能容易用到的參數,其它的參數需要另行查找

文檔,比如可以使用正則進行匹配。

內容相關的

-B, --before context=NUM顯示所在行之前的行數

-A, --after context=NUM顯示所在行之后的行數

-C, --context=NUM打印輸出上下文的行數

過濾內容相關的參數:

-i, --忽略大小寫區分

-w,--匹配查找的整個單詞

-x,--匹配查找的整行文本

-v, --過濾掉匹配的內容

輸出內容相關的參數

-n, --行號打印帶有輸出行的行號

比如,我要查找在grep_text.txt文件里不區分大小寫查找sillymadman,并顯示行號和匹配文本的下一行,那么我可以用以下命令查找

grep sillymadman grep_text.txt -i -n -A1

內容返回為

1:SillyMadman is both a madman and a fool.

2-Everyone agrees with this sentence.

總體而言grep的使用方式就是

grep [參數...](查找的內容) (文件名)

grep也經常搭配管道符號"|"使用,比如我要查詢某程序的進程,并去掉查找進程本身,那么命令為

ps -ef | grep program_name | grep -v grep

再創建一個文件名為sed_text.txt的文件,并放入內容:

SillyMadman is both a madman and a fool.

Everyone agrees with this sentence.

我想要在第一行下面添加一句:woshishazi

命令是:sed '1a\woshishazi' sed_text.txt

返回內容為:

SillyMadman is both a madman and a fool.

woshishazi

Everyone agrees with this sentence.

但是以上這個命令不會修改原文件,如果需要,需要加上-i

sed -i '1a\woshishazi' sed_text.txt

上面a是代表append,從指定行后面新的一行添加數據,還有其他操作

操作有以下這些

a :從下面一行新增

i :從上面一行插入,

d :刪除

c :整行替換

p :打印

s :對指定內容進行替換

下面稍微舉下例:

a: sed '1a\woshishazi' sed_text.txt 從第一行后面添加

i: sed '1i\woshishazi' sed_text.txt 從第一行前面插入

d: sed '1d' sed_text.txt 刪除第一行

c: sed '1c\woshishazi' sed_text.txt 替換第一行內容為woshishazi

p: sed -n '1p' sed_text.txt 打印第一行,一般搭配-n使用,其他內容就不會再展示

s:這個相對復雜一點需要詳細說明一下

sed的參數為 '[行]s/要被替換的內容/新的內容/g'

行是一個可選項,可以選擇具體的行進行替換

g代表替換所有匹配到的內容,也可以改為數字,表示第幾次匹配到時進行替換

sed 's\SillyMadman\shafengzi\g' sed_text.txt ,將所有SillyMadman替換為shafengzi

輸出結果為:

shafengzi is both a madman and a fool.

Everyone agrees with this sentence.

最后再創建一個文件名為awk_text.txt的文件,并放入內容:

1 a

2 b

3 c

4 d

5 f

以空白符作為分隔符這個文本相當于每一行有兩個字段。

那么打印第一個字段時 awk '{print 0的話,則代表打印所有字段

awk默認以空白符作為分隔符,也可以指定分割符通過-F

awk -F: '{print $1}' awk_text.txt,以“:”作為作為分隔符

那么返回內容就為

1 a

2 b

3 c

4 d

5 f

相當于只有一列或者說一個字段

然后還可以對前面加上一個正則對行進行匹配內容

awk '/a/{print 2 ~ /a/){print $1}' awk_text.txt

返回內容為

1

linux 三劍客(awk、sed、grep)

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

語法

常用的內建變量

NF :記錄的字段數

NR :記錄的行號

OFS :輸出字段分隔符,默認值與輸入字段分隔符一致。

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

$n :當前記錄的第n個字段,字段間由FS分隔

$0 :完整的輸入記錄

ARGV :包含命令行參數的數組

ARGC :命令行參數的數目

基本用法

awk 腳本

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

BEGIN{ 這里面放的是執行前的語句 }

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

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

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

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

基本語法

參數說明

sed 文件處理命令

包括增加、刪除、打印、替換行的內容

應用案例

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

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

語法

應用案例

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

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

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

關于awk的原理等基本知識請參考上篇:

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

補充

1、語法格式:

(1) Awk完整語法

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

BEGIN{commands}:處理數據前執行的命令。

END{commands}:處理完數據后執行的命令。

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

(2) Awk基本語法

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

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

模式:

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

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

總結:

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

2、 awk的命令操作符

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

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

(3) || !

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

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

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

3、案例

案例1:

~使用案例

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

解釋:

模式:\...\

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

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

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

案例2:

% || ==使用案例

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

輸出結果的要求:

整除7或者以99開頭

案例3:

++使用

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

簡單解釋:

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

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

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

END{print num}:文件遍歷結束,打印num的值,即文件的行數。

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

cat /etc/passwd | wc -l

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

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

下一篇:

Linux三劍客awk命令篇二之內部變量

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

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

感謝支持。

005 Linux 命令三劍客之-sed

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

使用示例:

使用示例:

使用示例:

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

[選項]常用的幾個參數:

[pattern]

含義:待匹配的需要替換的內容。

[replace]

常見的特殊含義字符:

[flags]

常見的可選參數:

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

使用示例:

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

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

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

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

編寫執行腳本的步驟如下:

touch sed.sh

sed.sh 中寫入腳本內容:

對sed.sh 腳本賦予可執行權限

chmod ug+x sed.sh

執行sed.sh 腳本,對文件進行處理

sed -i -f sed.sh test.html

網站名稱:linux三劍客命令合集 linux三大劍客
當前網址:http://vcdvsql.cn/article48/ddihoep.html

成都網站建設公司_創新互聯,為您提供網站營銷服務器托管網站改版網站制作外貿建站微信小程序

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

小程序開發