每天學點Linux命令之grep 和 wc命令 --- !管道命令!


  Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expr

ession 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命令 這種可以在命令行中通過 | 互相鏈接 ,作為輸入的命令原來有同一的名字 叫做 :::::::管道命令!!!!

  沒錯就是下面這種感覺

  image

  

  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