Linux命令之grep 和 wc命令&管道命令!


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

  wc

  1.命令格式:

  wc [選項]文件...

  2.命令功能:

  統計指定文件中的字節數、字數、行數,並將統計結果顯示輸出。該命令統計指定文件中的字節數、字數、行數。如果沒有給出文件名,則從標准輸入讀取。wc同時也給出所指定文件的總統計數。

  3.命令參數:

  -c 統計字節數。

  -l 統計行數。

  -m 統計字符數。這個標志不能與 -c 標志一起使用。

  -w 統計字數。一個字被定義為由空白、跳格或換行字符分隔的字符串。

  -L 打印最長行的長度。

  --help 顯示幫助信息

  --version 顯示版本信息

  例子: 在文件a中統計 hello 出現的行數:

grep hello a | wc -l

  在文件a中統計hello出現的次數:

grep -o hello a | wc -l

  grep命令和wc命令 這種可以在命令行中通過 | 互相鏈接 ,作為輸入的命令原來有同一的名字 叫做 :::::::管道命令!

  沒錯就是下面這種感覺:

  1、管道命令只處理前一個命令正確輸出,不處理錯誤輸出。

  2、管道命令右邊命令,必須能夠接收標准輸入流命令才行。

cat test.sh | grep -n 'good'
輸出:
1:echo very good
2:echo good

grep是文本正則查找命令, -n 表示找到后輸出行號;
grep的輸入是 cat命令的輸出 也就是整個tesh.sh文本的標准輸出
cat test.sh | ls
a.c               hah          SDK-gcc-1.0         筆記11~
algorithm         huawei2016   sed_operation       筆記11
a.out             LCSp         sed_operation~      公共的
clion-2016.1.1    learngit     Shell               模板
ClionProjects     mytest       SimilarGraphSearch  視頻
core_uses_pid~    n1           software            圖片
core_uses_piy~    n1~          sublime-imfix.c     文檔
core_uses_piz~    n2           test.sh             無標題文檔~
examples.desktop  n2~          test.sh~            下載
Game              Qt           The-first-project   音樂
gnuplot-4.4.0     QTWorkspace  UNIX                桌面

  因為 ls不支持標准輸入 所以test.sh中的內容被丟棄。

cat test1.sh test.sh 2>/dev/null | grep -n 'good'
1:echo very good
2:echo good
5:echo good
#將test1.sh 沒有找到錯誤輸出重定向輸出給/dev/null 文件,正確輸出通過管道發送給grep

  >是重定向

  |是管道重定向

  區別是:

  1、左邊的命令應該有標准輸出 | 右邊的命令應該接受標准輸入

  左邊的命令應該有標准輸出 > 右邊只能是文件

  左邊的命令應該需要標准輸入 < 右邊只能是文件

  2、管道觸發兩個子進程執行"|"兩邊的程序;而定向是在一個進程內執行

  nice啊 終於理清楚 grep 為啥總與 | 其他命令連用 , < >是重定向 ,

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM