Python學習第185課——grep命令和pipe命令

2021-02-08 石問新

到現在為止,我們對Linux的基本命令就學的差不多了,掌握了這些知識,遇到問題去查資料,去學習其他沒學過的命令,都能夠看得懂,不會有什麼障礙。

或者遇到沒見過的命令,直接用man去查看說明書,把它的option大概的看一看,了解這個命令的每一個option大概是什麼作用就行,不用去記。

現在我們再稍微的複習一下grep和pipe命令。這兩個命令,我們之前的章節也都簡單的介紹過或者提過。

●grep

如果要在一個文件裡面去搜索某些文本或者說字符串(文本其實就是字符串),就可以使用grep命令,grep命令中還可以使用正則表達式來描述要搜索的字符串具有什麼規律。

這個命令上節介紹過,詳情知識可以去看第184課,這裡再不贅述。

比如我現在要在A start in life.txt這個文件中去尋找start這個字符串,就可以用命令:

grep start A\ start\ in\ Life.txt

運行結果如下圖:

我們看到A start in life.txt這個文件中帶start這個字符串的部分都用紅色顯示了出來。

在這個命令中,start可以不帶引號,也可以帶引號,因為正則表達式本身就是一個字符串。不過為了不出問題,最好統一都帶上引號。

如果要尋找忽略大小寫的start,可以在start前面加上-i。當然,如果忽略大小寫了,start隨便你怎麼寫了,比如你寫成sTaRt都可以。

我們使用grep -i sTaRt A\ start\ in\ Life.txt這個命令看看運行結果:

我們看到所有大小寫形式的start都能被搜出來。

如果搜索出來的結果比較多,屏幕上顯示不下,咱們可以按shift+PgUp/PgDn來上下翻頁。

關於grep的其他option,可以用man grep去自己查看。

●|

在鍵盤上按shift+\這兩個鍵,就能打出來一個豎線,這個豎線|就是pipe(pipe就是管道的意思)。

有的電腦上可能是一個豎線,有的電腦上可能是兩個豎線,這個沒什麼影響。

關於這個pipe我們之前也用過。

如果我們要用man |去查看|的說明,發現什麼也沒有顯示,

這個|用man是不能查看的,大家知道就行,另外記住,如果你用man查看|之後,退出的時候按ctrl+c就能退出。一般要終止一些程序的時候,按ctrl+c也可以退出。

|的作用,就是可以把一個命令的結果輸入到另外一個命令中去。

>和|的區別:

之前學習的大於號>也是一個pipe,>這個pipe是把一個命令的結果先不顯示在shell屏幕上,而是導入到另一個文件中去。

而 | 這個pipe,是把一個命令的結果導入到另一個命令中去。

比如我們忽略大小寫在A start in life.txt這個文件中去搜索life這個字符串,使用命令:grep -i "life" A\ start\ in\ Life.txt |less

就是把grep -i "life" A\ start\ in\ Life.txt這個命令的結果導入到less這個命令中去,less就是顯示少量的結果。

我們也可以通過這種形式:

command A | command B | command C.

把命令A的結果導入命令B,然後把命令B的結果導入命令C,這樣不斷導入下去,實現一些更複雜的操作。

相關焦點

  • 【Linux命令】 grep命令基本用法
    grep命令可以說是Linux下面最常用的文本處理工具了,那麼究竟我們可以用grep命令做什麼了?好了,現在我們可以說說grep了,其實很簡單,它的功能和前面所講windows下的組合鍵Ctrl+F類似,都是方便我們用來搜索文本的。 既然grep這麼有用,那麼我們現在一起來學習它,首先準備一個測試文件用來說明grep的用法,如下圖所示,各位看官就不要糾結文件內容,內容沒有任何意義,純屬只是用來驗證grep用法的。
  • 每天一個 Linux 命令:grep 命令
    1.命令格式:grep [option] pattern file2.命令功能:用於過濾/搜索的特定字符。可使用正則表達式能多種命令配合使用,使用上十分靈活。-y   #此參數的效果和指定「-i」參數相同。  4.規則表達式:grep的規則表達式:^  #錨定行的開始 如:'^grep'匹配所有以grep開頭的行。    $  #錨定行的結束 如:'grep$'匹配所有以grep結尾的行。    .
  • Linux常用命令 - grep
    grep 命令代表「全局正則表達式 print」 ,它是 Linux 中最強大和最常用的命令之一。1mxfNjgrep 在一個或多個輸入文件中搜索與給定模式匹配的行,並將每個匹配行寫入標準輸出。如果沒有指定文件,grep 將從標準輸入讀取,這通常是另一個命令的輸出。
  • 第296天:grep命令
    grep命令grep命令用於查找文件裡符合條件的字符串,如果發現某文件的內容符合所指定的模式,grep
  • 如何用 Python 執行單行命令
    例如:python -c "print('Hello World')"-c 之後,要用雙引號將命令包起來,import 以;結尾,命令用[]括起來,多行命令用多個[]。python -c "import os,time;[print(i) for i in os.listdir()];[print(time.time())]"一些比較複雜的命令複雜的命令必須要用[]括起來,否則會報錯。
  • python執行系統命令
    在實際開發中,除了編寫python自身的代碼外,還經常需要執行作業系統的命令。
  • Linux 三劍客 Awk、Sed、Grep 命令詳解
    Linux三劍客Awk命令詳解命令名稱Awk  pattern scanning and processing language命令作用對文本和數據進行處理數據可以來自標準輸(stdin)、一個或多個文件,或其它命令的輸出。它在命令行中使用,但更多是作為腳本來使用。awk有很多內建的功能,比如數組、函數等,這是它和C語言的相同之處,靈活性是awk最大的優勢。
  • 這10個命令能提高50%的工作效率
    而且越來越多的企業開始選擇Linux作為伺服器,所以對於我們正在學習的小夥伴來說,了解Linux是極為重要的一章課題。今天幫大家收集了10個Linux的命令,希望小夥伴們能夠本文中更深刻地理解 Linux 的相關特性:01 pgreppgrep名字前有個p,我們可以猜到這和進程相關,又是grep,當然這是進程相關的grep命令。不過,這個命令主要是用來列舉進程ID的。
  • Linux文件的常用操作命令
    uptime # 查詢系統當前負載信息cat /proc/loadavg # 查看負載信息5、進程基礎命令ps -ef|grep python # 查看python相關進程ps -aux | grep python #
  • 運維丨Linux系統 grep命令用法詳解
    在Linux系統下grep命令的功能非常的強大,其作用是查找整個文件裡符合條件的關鍵字,grep命令在查找關鍵字時,只要查找到包含該關鍵字的行,就會把該行所有的內容全部顯示出來。在使用grep命令時,如果配合管道符使用的話,功能會更加的強大。
  • python命令參數及模塊的導入學習
    python已經成為程式語言排行榜的老大了,要向不被時代淘汰,就要緊跟時代步伐,在IT編程世界的今天,不會python可是不行的,今天繼續學習python的命令及相關模塊導入學習。import 與 from...import
  • Linux命令技巧匯總
    學習標準輸出 stdout 和 標準錯誤 stderr。學習文件通配符 * (可能還有 ? 和 {…})和引用,明白雙引號和單引號的區別。(詳細信息看下面的變量展開)熟練掌握 bash 的任務管理器: &、ctrl-z、ctrl-c、jobs、fg、bg、kill 等等。
  • 20分鐘吃掉Linux常用命令40式
    python #查看當前所有和Python相關的進程27, kill 殺死進程例1:kill -9 12345 #殺死進程號為12345的進程例2:kill -9 $(ps -ef | grep liangyun)  #殺死某個用戶的所有進程
  • Python學習第167課——用man和info打開Linux命令說明書的區別
    【每天幾分鐘,從零入門python編程的世界!】有時候咱們在Linux系統裡面光看man page(說明書)的話,是不夠的,在man page裡面看到的一個東西,如果我們也不懂,怎麼辦呢?但是在咱們的Linux裡面的man page裡面,遇到不懂的命令,你只能退出man page,然後再用man去查這個不懂的命令,就好比說你用man cd去查cd的說明,然後在cd的man page中看到了一個命令ls,假如說你不知道這個ls是幹什麼的,這時候你就得去查一下ls,你要查ls只能退出cd的man page,再用man ls去查ls的說明,當你搞懂了
  • Python 命令行之旅:使用 docopt 實現 git 命令
    按照慣例,我們要像使用 argparse 一樣使用 docopt 來實現 git 命令。為了讓沒讀過 使用 argparse 實現 git 命令 的小夥伴也能讀明白本文,我們仍會對 git 常用命令和 gitpython 做一個簡單介紹。本系列文章默認使用 Python 3 作為解釋器進行講解。
  • 用 Python 創建你自己的 Shell
    如何將函數的參數轉發給子命令?如何將字符串分配給變量,然後作為命令調用該字符串?如何檢查兩個字符串變量是否相等?如何分割字符串並獲得後半部分?等等。不是我找不到這些答案,而是每次都必須查找它們。但是,我們不能否認將整個程序當作純粹的功能發揮作用的能力,以及將一個程序的輸出傳遞到另一個程序的自然程度。因此,我想知道,我們能否將bash的某些功能與Python結合起來?讓我們從一個類開始。
  • python命令是如何操作文件file的?
    前言無論哪一個作業系統,亦或是哪一門語言,當使用到一些高級層次的時候,必然會和文件打交道,因為所有的內容不可能都在內存中存儲和傳輸。用到文件,就必然會有創建文件、打開文件、寫文件、複製文件、刪除文件這些操作,下面我們來看看在python中是如何利用命令來操作file文件的。
  • Python學習第184課——Linux中的正則表達式
    ●grep命令在Linux中,可以使用命令grep去搜索符合一定模式或規律的文本。grep就是global search regular expression and print out the line,翻譯過來就是全面搜索正則表達式並把行列印出來。它能使用正則表達式搜索文本,並把匹配的行列印出來。
  • Python學習第61課-shell用cat和less打開文件
    【每天幾分鐘,從零入門python編程的世界!】補充:在第60節課的學習中,我們知道保存網頁用這個命令:curl -L -o 要保存的路徑 要下載的網頁的網址①要保存的路徑的文件名可以是任何後綴,比如.txt,點csv等等都可以。
  • 系統管理員應該知道的20條Linux命令
    如果您的應用程式不工作,或者您希望在尋找更多信息,這 20 個命令將派上用場。 在這個全新的工具和多樣化的開發環境井噴的大環境下,任何開發者和工程師都有必要學習一些基本的系統管理命令。