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

2020-12-24 石問新

到現在為止,我們對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 命令代表「全局正則表達式 print」 ,它是 Linux 中最強大和最常用的命令之一。1mxfNjgrep 在一個或多個輸入文件中搜索與給定模式匹配的行,並將每個匹配行寫入標準輸出。如果沒有指定文件,grep 將從標準輸入讀取,這通常是另一個命令的輸出。
  • 如何利用多核CPU來加速你的Linux命令 — awk, sed, bzip2, grep...
    GREP如果你有一個非常大的文本文件,以前你可能會這樣:grep pattern bigfile.txt現在你可以這樣:cat bigfile.txt | parallel  --pipe grep 'pattern'或者這樣:cat bigfile.txt | parallel
  • Linux文本檢索命令grep筆記
    grep是在Linux系統中基於行文本非常實用檢索工具,通過該命令可以將匹配到的結果信息輸出到終端控制臺。vim test.txt插入如下內容:today IS Saturdaytommow is Sumdaymy name is xiaomingToday命令示例
  • Linux下高效實用的grep命令
    Linux系統中的grep命令是一種功能強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。
  • F5常用巡檢、故障處理、問題診斷命令——F5負載均衡技術-1
    3:查看內存佔用率b memory show |more顯示結果的第一行包括系統的總內存數量和當前已經使用的內存數量4:查看查看內存硬體信息,可以檢查當前設備內存的大小,硬體型號等cat /proc/meminfo
  • Python學習第164課——Linux命令行特殊符號的意義以及命令的語法...
    這節我們介紹Linux系統命令行中的一些特定的符號具有什麼含義,以及命令行的語法規則。在#後面輸入命令,就表示此時我們拿到了伺服器或者電腦的root權限,即最高權限,所以$和#分別表示我們是以普通用戶權限還是代表最高權限的root權限來輸入命令。所以$和#是表示權限在什麼地方。●Linux命令行的語法規則接下來我們簡單介紹下Linux命令行的語法規則。
  • Python學習第179課——tail命令監控用戶登錄
    我們知道tail命令可以查看一個文件尾部的內容,而一個文件的內容有可能會不斷變化,那麼如果一個文件的尾部不斷的添加新的內容,我們是不是可以通過tail命令去實時的查看這個文件的變化呢?我們用命令:tail -f /var/log/secure來看看我的登錄記錄。執行該命令後出現如下圖所示的提示:提示我們:不能打開'/var/log/secure'這個目錄的文件,權限被拒絕。既然是權限不夠,那麼我們使用超級用戶權限。
  • linux常用命令總結
    init 0其他重啟命令 reboot 重啟系統 reboot -h now 立即重啟注意:生產環境中,關機命令和重啟命令謹慎執行。命令命令路徑:/bin/grep 執行權限:所有用戶作用:在文件中搜尋字串匹配的行並輸出 語法:grep [-cinv] '搜尋字符串' filename選項與參數:-c :輸出匹配行的次數
  • Python學習第174課——Linux移動文件、重命名文件、刪除文件命令
    上節我們學習了複製文件的命令,cp就是copy的簡寫。這節我們繼續學習其他的命令。●移動文件移動文件使用命令:mv 要移動的文件 移動到哪裡mv就是move的簡寫。操作如下圖:●重命名重命名文件,可以跟移動文件使用同一個命令mv,只不過把第二個參數改成要重新命名的名字即可。
  • 常用Linux命令的5分鐘指南
    很長時間以來,我經常搜索有限數量的Linux命令。因此,我認為列出那些常用的並最終記住它們是一個好主意。這無疑提高了我的工作效率。這是我的清單。1. cp / scpcp將所有以「 .extension」作為擴展名的文件擴展到garget目錄。
  • 如何通過命令行獲取計算機硬體詳細信息
    使用 lscpu 命令或與它相近的 lshw 命令查看 CPU 的詳細信息:在這兩個例子中,輸出的最後幾行都列出了所有 CPU 的功能。你可以查看你的處理器是否支持特定的功能。使用這些命令的時候,你可以通過使用 grep 命令過濾複雜的信息,並縮小所需信息範圍。
  • 這些奇怪的unix/linux命令名稱都是什麼意思?
    awk = 「Aho Weinberger and Kernighan」這個命令的名稱來自它的作者的名稱,分別是 Al Aho, Peter Weinberger 和 Brian Kernighan.grep = 「Global Regular Expression Print」grep 來自 ed 命令,用來列印輸出匹配某個模式的所有數據行。g/re/p其中 「re」 是 「regular expression」 也就是正則表達式。
  • Linux三劍客之grep
    這也是一個我們比較常用的命令之一,好多時候雖然沒通過系統的學習,但是我們還是會經常用到。通過幫助文檔我們可以得知,egrep、fgrep是grep的別名。網上一些文章說egrep、fgrep與grep有區別,這種說法是不準確的。
  • Python學習第237課——從win10主機傳文件到VirtualBox並用Python...
    設置步驟:1 打開VM VirtualBox Manager,先點擊Settings,如下圖:2 點擊General--Advanced,然後將Shared Clipboard和Drag』 n』 Drop後面的選項都選為Bidirectional(雙向的)
  • MacOS 常用終端命令大全
    其中許多命令的 Options 部分只包含單個字母,這時可以合併。例如:ls -lA和ls -l -A是等效的。Arguments 部分用來細化這個命令或指定這個命令具體的實施對象。Extras 部分則用來進一步實現其他功能。
  • Python學習第176課——tar解包和壓縮
    上節我們學習了tar命令打包和查看tar文件中的內容,這節我們繼續熟悉tar解包以及其他操作。上節我們把桌面上的linux文件夾裡面的東西打了一個包,打包後的文件也在桌面上,叫tar_linux.tar。
  • python學習路線分享
    學習python不知道如何下手,不知道要學哪些知識,看完下面這些你就知道了。把下面的知識學完,就是一個合格的「捕蛇」者了。,起於累土 1.1 Python MOOC練習3 1.2 Python MOOC練習4 1.3 python中的隨機函數random的用法示例 1.4 Python文本詞頻統計的編碼問題-MOOC嵩天 1.5 Python中的複數和誤區
  • 初學者運維必知的Linux命令大全「完整版」
    Linux基礎命令一初學者完成Linux系統安裝以後,學習Linux作業系統必備的指令,基於Linux指令管理Linux作業系統,必備Linux指令有哪些?chown、chgrp、umask、chattr、lsattr、id、who、whoami、last、su、sudo、w、chpasswd、chroot;文件管理相關:Touch、mkdir、rm、rmdi、vi、vim、cat、head、tail、less、more、find、sed、grep
  • vim常用命令有哪些?Linux入門學習
    vim是一個文本編輯程序,沒有菜單,只有命令,且命令繁多。在運維培訓學習中,vim編輯器都有哪些知識點?有哪些命令需要掌握? 命令行模式下相關命令移動光標h:←左移l:→右移j:↓下移k:↑上移gg:光標移動文件開頭G:光標移動到文件末尾0:光標移動到行首$:光標移動到行尾123G:跳轉到第123行 刪除字符x:刪除光標後一個字符
  • DOS命令大全,黑客必知的DOS命令集合
    (注意:和上面不同,下面的因為是MYSQL環境中的命令,所以後面都帶一個分號作為命令結束符) show databases; 顯示資料庫列表。剛開始時才兩個資料庫:mysql和test。mysql庫很重要它裡面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。