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

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

  wc正則表達式

  1.命令格式:工具

  wc [選項]文件...spa

  2.命令功能:命令行

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

  3.命令參數:視頻

  -c 統計字節數。blog

  -l 統計行數。進程

  -m 統計字符數。這個標誌不能與 -c 標誌一塊兒使用。圖片

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

  -L 打印最長行的長度。

  --help 顯示幫助信息

  --version 顯示版本信息

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

grep hello a | wc -l

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

grep -o hello a | wc -l

  grep命令和wc命令 這種能夠在命令行中經過 | 互相連接 ,做爲輸入的命令原來有同一的名字 叫作 :::::::管道命令!

  沒錯就是下面這種感受:

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

  二、管道命令右邊命令,必須可以接收標準輸入流命令才行。

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

  >是重定向

  |是管道重定向

  區別是:

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

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

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

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

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

相關文章
相關標籤/搜索