1、統計檔案的行數、單詞數、字元數
1)行數:
wc -l file
cat file | wc -l
2)單詞數
wc -w file
cat file | wc -w
3)統計字元數
wc -c file
cat file | wc -c
4)不跟任何引數時,三者都列印,列印順序為行數、單詞數、字元數
wc file
hbg@root:~/dl$ wc a.txt
6 6 36 a.txt
5)列印檔案中最長一行
wc -l file
2、正規表示式
1)「?」用於匹配單詞前後可能出現的空格
例如:要匹配給定文字中的所有單詞,可以使用下面的正規表示式:
( ?[a-za-z]+ ?) [a-za-z]代表乙個字母或者多個字母(a-z 和 a-z)
2)正規表示式 描述 示例
^ 行起始標記 ^tux匹配以tux起始的行
$ 行尾標記 tux$匹配以tux結尾的行
. 匹配任意乙個字元 hack. 匹配hackl和hacki,但是不能匹配hackl2和hacki1,它只能匹配單個字元
匹配包含在[字元]之中的任意乙個字元 coo[kl] 匹配cook 或 cool
[^] 匹配除[^字元]之外的任意乙個字元 9[^01] 匹配92、93,但是不匹配90和91
[-] 匹配中指定範圍內的任意乙個字元 [1-5]匹配從1~5的任意乙個數字
? 匹配之前的項一次貨0次 colou?r匹配 color或colour但是不能匹配colouur
+ 匹配之前項一次或多次 rollno-9+匹配rollno-99、rollno-9,但是不能匹配rollno-
* 匹配之前的項0次或多次 co*l 匹配 cl、col、cooool等
() 建立乙個用於匹配的子串 ma(tri)?x匹配 max 或 matrix
匹配之前的項n次 [0-9]匹配任意一位3位數,可以擴充套件為[0-9][0-9][0-9]
之前的項至少需要匹配n次 [0-9]匹配任意乙個兩位或更多位的數字
指定之前的項必須匹配的最小次數和最大次數 [0-9]匹配乙個2位數到5位數之間的任意乙個數字
| 交替--匹配 | 兩邊的任意一項 oct (1st | 2nd) 匹配oct 1st或oct 2nd
\ 轉義符可以將上面介紹的特殊字元進行轉義 a\.b匹配 a.b,但不能匹配ajb。通過在.之前加上字首\,從而忽略了.的特殊意義
Shell指令碼學習筆記 五 函式
函式 bash呼叫函式不會開啟新的子shell,會在現有的shell環境中執行該函式。函式的語法形式 呼叫 函式名 引數1 引數2 funcname變數,值的內容是函式名 取消函式定義 unset f 函式名 return指令 傳回值 作用範圍 函式僅在定義的shell環境中有效,如果要傳遞函式給子...
Shell 指令碼學習筆記五 Shell傳遞引數
我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n 代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 bin bash echo shell 傳遞引數例項!echo 執行的檔名 0 echo 第乙個引數為 1 echo 第二個引...
SHELL指令碼學習總結(第五話)指令碼控制
linux利用訊號與執行在系統中的程序進行通訊。我們可以利用這些訊號來停止 啟動 終止程序。可以通過對指令碼進行程式設計,使其在收到特定訊號時執行某些命令,從而控制shell指令碼的操作。最常見訊號訊號值 描述快捷鍵 1sighup 掛起程序 2sigint 終止程序 ctrl c 3sigquit...