国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

linux的三劍客

這篇具有很好參考價值的文章主要介紹了linux的三劍客。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、grep命令
grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。它是Linux系統(tǒng)中一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。

shell腳本中也經常使用grep,因為grep通過返回一個狀態(tài)值來說明搜索的結果。如果搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進行一些自動化的文本處理工作。

grep家族包括grep、egrep和fgrep。egrep和fgrep的命令跟grep區(qū)別不大。egrep是grep的擴展,支持更多的re元字符,fgrep是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說,正則表達式中的元字符表示其自身的字面意義。linux使用GNU版本的grep。它功能更強,可以通過-G、-E、-F命令行選項來使用egrep和fgrep的功能。

格式:grep [option] pattern file

參數(shù)

-a 不要忽略二進制數(shù)據(jù)。

-A <顯示行數(shù)> 除了顯示符合范本樣式的行之外,并顯示該行之后的指定幾行內容。
-B<顯示行數(shù)> 除了顯示符合范本樣式的行之外,并顯示該行之前的指定幾行內容。
-C<顯示行數(shù)> 除了顯示符合范本樣式的那一行之外,并顯示該行前后指定幾行的內容。
-b 在顯示符合范本樣式的那一行之外,并顯示字節(jié)偏移量。-c 只計算顯示符合范本樣式的行數(shù),不顯示詳細內容
-d<進行動作> 當指定要查找的是目錄而非文件時,必須使用這項參數(shù),否則grep命令將回報信息并停止動作。
-e<范本樣式> 指定字符串作為查找文件內容的范本樣式。
-E 將范本樣式為延伸的普通表示法來使用,意味著能使用擴展正則表達式。
-f <范本文件> 指定范本文件,其內容有一個或多個范本樣式,讓grep查找符合范本條件的文件內容,格式為每一列的范本樣式。
-F 將范本樣式視為固定字符串的列表。
-G 將范本樣式視為普通的表示法來使用。
-h 在顯示符合范本樣式的那一列之前,不標示該列所屬的文件名稱。
-H 在顯示符合范本樣式的那一列之前,標示該列的文件名稱。
-i 忽略字符大小寫的差別。
-l 列出文件內容符合指定的范本樣式的文件名稱。
-L 列出文件內容不符合指定的范本樣式的文件名稱。
-n 在顯示符合范本樣式的那一列,標示出該列的編號。
-q 不顯示任何信息。
-R/-r 此參數(shù)的效果和指定“-d recurse”參數(shù)相同,表明查找路徑為目錄
-s 不顯示錯誤信息。
-v 反轉查找,顯示不符合模式的所有信息
-w 只顯示全字符合的列。
-x 只顯示全列符合的列。
-y 此參數(shù)效果跟“-i”相同。
-o 只輸出文件中匹配到的部分。
–color=auto 把匹配部分標記出來,要想當前終端后續(xù)使用都要標記匹配部分,可用alias命令重新封裝grep。
示例:
0.png

正則表達式
正則表達式應用廣泛,在絕大多數(shù)的編程語言都可以應用,在Linux中,也有著很大的用處。使用正則表達式,可以有效的篩選出需要的文本,然后結合相應的支持的工具或語言,完成我們的需求。

格式

.匹配任意單個字符,不能匹配空行
[] 匹配指定范圍內的任意單個字符
[^] 取反
[:alnum:] 或 [0-9a-zA-Z]
[:alpha:] 或 [a-zA-Z]
[:upper:] 或 [A-Z]
[:lower:] 或 [a-z]
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范圍廣)
[:cntrl:] 不可打印的控制字符(退格、刪除、警鈴…)
[:digit:] 十進制數(shù)字 或[0-9]
[:xdigit:]十六進制數(shù)字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 標點符號

  • 匹配前面的字符任意次,包括0次,貪婪模式:盡可能長的匹配

.* 任意長度的任意字符,不包括0次
? 匹配其前面的字符0 或 1次

  • 匹配其前面的字符至少1次
    {n} 匹配前面的字符n次
    {m,n} 匹配前面的字符至少m 次,至多n次
    {,n} 匹配前面的字符至多n次
    {n,} 匹配前面的字符至少n次
    我們可以根據(jù)grep命令任意組合正則表達式

2、sed命令
主要用來自動編輯一個或多個文件, 簡化對文件的反復操作

sed是一種流編輯器,一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區(qū)中,稱為“模式空間”,接著用sed命令處理緩沖區(qū)中的內容,處理完成后,把緩沖區(qū)的內容輸出。然后讀入下行,執(zhí)行下一個循環(huán)。如果沒有使諸如‘D’的特殊命令,那會在兩個循環(huán)之間清空模式空間,但不會清空保留空間。這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出或-i。

格式:sed [options] ‘command’ file(s)
常用參數(shù):

-n:不輸出內容到屏幕,即不自動打印,只打印匹配到的行
-e:多點編輯,對每行處理時,可以有多個Script
-f:把Script寫到文件當中,在執(zhí)行sed時-f指定文件路徑,如果是多個Script,換行寫
-r:支持擴展的正則表達式
-i:直接將處理的結果寫入文件
-i.bak:在將處理的結果寫入文件之前備份一份
示例:

sed ‘=’ test.txt #顯示行號
sed ‘3=’ test.txt #顯示第三行行號
sed “/./=” test.txt #只顯示非空白行的行號
sed -n “/./!=” test.txt #只顯示空白行行號
sed ‘$=’ test.txt #顯示總共有多少行
sed -n ‘2p’ test.txt #要加-n,否則會默認自動打印所有內容
sed -n ‘2 p’ test.txt #要加-n,否則會默認自動打印所有內容

輸出指定行

sed -n ‘2,7 p’ test.txt
sed -n ‘2,7p’ test.txt
sed -n ‘2,7 {p}’ test.txt

#替換文件中內容
sed -i ‘s/bck/sh/’ test.txt test1.txt #替換test.txt、test1.txt內的bck為sh,每行只替換一個
sed -i ‘s/bck/sh/g’ test.txt #替換test.txt內的bck為sh,每行都進行全面替換
sed -i ‘s/bck/sh/3g’ test.txt #替換test.txt內的bck為sh,從第3個匹配位置開始替換
sed -i ‘s@bck@sh@g’ test.txt #替換test.txt內的bck為sh,每行都進行全面替換
sed -i ‘s#bck#sh#g’ test.txt #替換test.txt內的bck為sh,每行都進行全面替換

#顯示查找內容的行
sed -n ‘/sh/p’ test.txt #顯示test.txt內的所有包含sh的所有行
sed -n ‘/sh/ ,$ p’ test.txt #顯示test.txt里第一條包含sh的行及以下到末尾的所有行

3、awk命令
awk用于在linux/unix下對文本和數(shù)據(jù)進行處理。數(shù)據(jù)可以來自標準輸入(stdin)、一個或多個文件,或其它命令的輸出。它支持用戶自定義函數(shù)和動態(tài)正則表達式,是linux/unix下的一個強大編程工具。它在命令行中使用,但更多是作為腳本來使用。awk有很多內建的功能,比如數(shù)組、函數(shù)等,這是它和C語言的相同之處,靈活性是awk最大的優(yōu)勢。awk其實不僅僅是工具軟件,還是一種編程語言。

格式:
awk [options] ‘program’ var=value file…
awk [options] -f programfile var=value file…
awk [options] ‘BEGIN{ action;… } pattern{ action;… } END{ action;… }’ file …

常用命令選項

-F fs:fs指定輸入分隔符,fs可以是字符串或正則表達式,如-F:
-v var=value:賦值一個用戶定義變量,將外部變量傳遞給awk
-f scripfile:從腳本文件中讀取awk命令
示例:

awk -v FS=‘:’ ‘{print $1,$2}’ testawk #FS指定輸入分隔符
awk -v FS=‘:’ -v OFS=‘—’ ‘{print $1,$2}’ testawk #OFS指定輸出分隔符
awk -v RS=‘:’ ‘{print $1,$2}’ testawk
awk -v FS=‘:’ -v ORS=‘—’ ‘{print $1,$2}’ testawk
awk -F: ‘{print NF}’ testawk
awk -F: ‘{print $(NF-1)}’ testawk #顯示倒數(shù)第2列文章來源地址http://www.zghlxwxcb.cn/news/detail-731096.html

到了這里,關于linux的三劍客的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Linux:文本三劍客之awk

    Linux:文本三劍客之awk

    awk:是一種 處理文本文件的語言 ,是一個強大的 文本分析工具 。 awk: 逐行讀取文本 ,默認以 空格 或 tab鍵 為分隔符 進行分隔 ,將分隔所得的 各個字段 保存到 內建變量 中,并按模式或者條件執(zhí)行編輯命令。 1、sed命令常用于一整行的處理,而awk比較 傾向于將一行分成

    2024年02月05日
    瀏覽(96)
  • Linux下傳說中的三劍客

    Linux下傳說中的三劍客

    大家好!我是木榮。 今天給大家聊一聊Linux中文本操作的 三劍客:awk、grep、sed ,因其功能強大、使用頻繁,且是Linux下文本處理的得力利器,常被稱之為 文本三劍客 。 grep 常用于查找, sed 常用于取行和替換,而 awk 常用于運算。 有句玩笑話常說: 做Linux技術不識三劍客,玩

    2024年02月09日
    瀏覽(24)
  • Linux 三劍客命令之 awk 詳解

    Linux 三劍客命令之 awk 詳解

    目錄 一、Awk 實戰(zhàn)講解 1.1 awk 的原理 1.2 BEGIN 和 END 模塊 1.3 運算符 1.4 常用 awk 內置變量 1.5 awk 正則 1.6 awk 常用字符串函數(shù) ????????awk 是一種很棒的語言,它適合文本處理和報表生成,其語法較為常見,借鑒了某些語言的一些精華,如 C 語言等。在 linux 系統(tǒng)日常處理工作中

    2024年02月03日
    瀏覽(574)
  • Linux三劍客——Linux grep命令詳解:查找文件內容

    很多時候,我們并不需要列出文件的全部內容,而是從文件中找到包含指定信息的那些行,要實現(xiàn)這個目的,可以使用?grep 命令。 grep 命令 作為 Linux 文本處理三劍客的一員,另外兩個是 sed 和 awk ,我們會在后面的文章中作詳細介紹。 grep 命令 的由來可以追溯到 UNIX 誕生的

    2024年02月11日
    瀏覽(84)
  • Linux文本三劍客(grep、sed、awk)

    Linux文本三劍客(grep、sed、awk)

    目錄 grep 1、什么是grep和rgrep? 2、使用grep 2.1、命令格式 2.2、命令功能 2.3、命令參數(shù) 3、實戰(zhàn)演示 sed 1、認識sed 2、使用sed 2.1、命令格式 2.2、常用選項options 2.3、地址定界 2.4、編輯命令command 3、sed用法演示 3.1、常用選項用法演示 3.2、sed地址定界演示 3.3、編輯命令command演示

    2024年02月03日
    瀏覽(98)
  • linux命令三劍客grep、sed、awk

    準備 grep、sed、awk號稱\\\"linux三劍客\\\",使用頻繁,功能強大,本文通過一個實例演示下基本用法。首先準備一個文本文件,命名為text.txt,寫入文件內容: grep 首先,最簡單的是grep。經常用來過濾查看日志。對于grep需要知道如下幾個常用的命令選項: -n: 額外輸出行號。例如過

    2024年02月05日
    瀏覽(99)
  • Linux文本三劍客---grep、sed、awk

    Linux文本三劍客---grep、sed、awk

    awk、grep、sed是linux操作文本的三大利器,三者的功能都是處理文本,但側重點各不相同,其中屬awk功能最強大,但也最復雜。grep更適合單純的查找或匹配文本,sed更適合編輯匹配到的文本,awk更適合格式化文本,對文本進行較復雜格式處理。 1、grep 1.1 命令格式 1.2命令功能

    2024年02月14日
    瀏覽(97)
  • 快速上手Linux核心命令(五):文本處理三劍客

    快速上手Linux核心命令(五):文本處理三劍客

    目錄 前言 正則表達式 第一劍客 grep 第二劍客 sed 第三 劍客 awk 小結 上一篇中已經預告,我們這篇主要說Linux文本處理 三劍客 。他們分別是 grep 、 sed 、 awk 。既然能被業(yè)界稱為三劍客,可見其在Linux命令中占有舉足輕重得地位。所以呢,這里也專門寫一篇文章說一說其用法。

    2023年04月25日
    瀏覽(21)
  • linux文本三劍客---grep,sed,awk

    linux文本三劍客---grep,sed,awk

    目錄 grep 什么是grep? grep實例演示 命令參數(shù): 案例演示: sed 概念: ?常用選項: 案例演示: awk 概念: awk常用命令選項: awk變量: 內置變量 自定義變量 awk的簡單案例 在“a b c d”的d后面插入三個字符 統(tǒng)計tcp連接狀態(tài)數(shù)量 ?統(tǒng)計日志中狀態(tài)碼非200的IP的次數(shù) 什么是grep?

    2024年02月13日
    瀏覽(93)
  • 數(shù)據(jù)分析三劍客之Numpy

    數(shù)據(jù)分析三劍客之Numpy

    數(shù)據(jù)分析三劍客 :Numpy,Pandas,Matplotlib NumPy (Numerical Python) 是 Python 語言的一個擴展程序庫,支持大量的維度數(shù)組與矩陣運算,此外也針對數(shù)組運算提供大量的數(shù)學函數(shù)庫。 numpy是基于c語言開發(fā),所以這使得numpy的運行速度很快,高效率運行就是numpy的一大優(yōu)勢。 首先·我們要

    2024年02月09日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包