天天看點

shell特殊符号cut指令,sort_wc_uniq指令,tee_tr_split指令8.11 sort_wc_uniq指令8.12 tee_tr_split指令8.13 shell特殊符号下

 特殊符号:

 1.* 任意個任意字元通配符

<a href="https://s5.51cto.com/wyfs02/M01/A7/37/wKioL1njhYXwkL_YAAJLC_4fPTc887.png" target="_blank"></a>

2.? 任意一個字元

<a href="https://s2.51cto.com/wyfs02/M00/08/86/wKiom1njiDzRHYmiAAF1-wFwkhs268.png" target="_blank"></a>

3.# 注釋字元

一條指令前面加注釋字元的話,指令就不會執

<a href="https://s2.51cto.com/wyfs02/M02/A7/37/wKioL1njhYexE0UhAAFqNC6qQOk106.png" target="_blank"></a>

4.\ 脫義字元,有些字元是指令,是以需要脫義符來讓這個字元變成普通字元,而非指令字元:

<a href="https://s5.51cto.com/wyfs02/M02/A7/37/wKioL1njhYjiu-4dAAGL9_P0BN4344.png" target="_blank"></a>

5.| 管道符,把前面指令的輸出結果交給後面的指令執行

<a href="https://s5.51cto.com/wyfs02/M01/08/86/wKiom1njiD-CQWuTAAHa3a1_xqI097.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M01/08/86/wKiom1njiEKzt9IgAAjPrD-aclY587.png" target="_blank"></a>

cut指令可以分割字元串,可以指定某個字元進行分割,例如我要分割passwd檔案裡的字元串,并以冒号為分割符,然後指定檢視第一段字元串:

<a href="https://s5.51cto.com/wyfs02/M00/A7/37/wKioL1njhY7i2sXqAAI14e5E4PU626.png" target="_blank"></a>

如果要檢視兩段需要加個逗号:

<a href="https://s5.51cto.com/wyfs02/M00/A7/37/wKioL1njhavBxc3rAAIpHZBwCK4526.png" target="_blank"></a>

想要檢視一個範圍可以這麼寫:

<a href="https://s2.51cto.com/wyfs02/M02/08/86/wKiom1njiGLCDRQPAAJnVDl1xBo463.png" target="_blank"></a>

使用-c選項可以檢視第幾個字元,例如我也要檢視第四個字元:

<a href="https://s1.51cto.com/wyfs02/M01/A7/37/wKioL1njha2jNVIPAAInm6dZE-A523.png" target="_blank"></a>

  sort指令可以對字元串或數字排序,排序的方法是安照ASCII碼排序的,例如我排序passwd檔案的内容:

<a href="https://s1.51cto.com/wyfs02/M01/A7/37/wKioL1njhbmRzSTFAAlacaHhEXA293.png" target="_blank"></a>

例如排序一個含有特殊字元的檔案:

<a href="https://s4.51cto.com/wyfs02/M00/08/86/wKiom1njiHTAoyqsAAlYbMjSyc0172.png" target="_blank"></a>

加-n選項會照數字去排序,這時相對于數字來說字母和特殊符号相當于是零:

<a href="https://s5.51cto.com/wyfs02/M02/A7/37/wKioL1njhhLQ6hTCAAbnxTuEXlc586.png" target="_blank"></a>

-r則是倒序排序:

<a href="https://s4.51cto.com/wyfs02/M00/08/86/wKiom1njiH-A2T4zAActaEovEEI211.png" target="_blank"></a>

wc -l指令是統計行數的:

<a href="https://s1.51cto.com/wyfs02/M02/A7/37/wKioL1njhnqxUOOcAAFXOd6ZLQo371.png" target="_blank"></a>

加-m選項則是統計字元數,包括換行符:

<a href="https://s3.51cto.com/wyfs02/M02/08/86/wKiom1njiTDQ1Kj0AAD-BJrXyGE674.png" target="_blank"></a>

加- w選項是安照單詞統計,這個單詞是以逗号或者空格分開的一個個詞:

<a href="https://s3.51cto.com/wyfs02/M01/A7/37/wKioL1njhnyCHan-AAEGAgzxRGk313.png" target="_blank"></a>

uniq指令是去掉重複的字元:

<a href="https://s5.51cto.com/wyfs02/M00/08/86/wKiom1njiTbjtLFGAAo62i6FnZo868.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/08/86/wKiom1njiTfgvrD-AAMEPrKzg70395.png" target="_blank"></a>

uniq指令可以和sort指令搭配使用,先排序去重:

<a href="https://s4.51cto.com/wyfs02/M00/A7/37/wKioL1njho7TiZajAAhLP0KK1GU644.png" target="_blank"></a>

  tee指令和輸出重定向有點像,它們的差別是tee是可以看到輸出重定向的結果,&gt;則不能看到:

<a href="https://s4.51cto.com/wyfs02/M02/A7/37/wKioL1njhpDSakkPAAQeFaMXiyY055.png" target="_blank"></a>

tee -a 追加重定向:

<a href="https://s2.51cto.com/wyfs02/M01/08/86/wKiom1njig_yaYqiAAnoD-ymh14088.png" target="_blank"></a>

tr指令是用來替換字元的,針對字元來操作的:

<a href="https://s5.51cto.com/wyfs02/M02/A7/37/wKioL1njh1zB1sxxAAQgwEenP6k981.png" target="_blank"></a>

  split切割指令,可以用來切割檔案,因為有些檔案太大了,不友善檢視,是以需要使用split來切割成多個檔案來友善檢視,split可以針對大小切割也可以針對行數切割:

<a href="https://s1.51cto.com/wyfs02/M01/08/86/wKiom1njihOB7-aQAAMuS7w11XI455.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/A7/37/wKioL1njh16hbc-CAAMOlIvTLEw849.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/A7/37/wKioL1njh2DRnsDDAANwvfv8yxA630.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M02/08/86/wKiom1njihmD6y6TAAYQoTZ9y5I913.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/08/86/wKiom1njiiCClwPpAArYHEATv1Y261.png" target="_blank"></a>

想要把多條指令寫在一行裡,就需要使用分号分割:

<a href="https://s1.51cto.com/wyfs02/M00/08/86/wKiom1njilmjOz6TAAKF9NDuYxc805.png" target="_blank"></a>

  ||是或者的意思,寫在兩條指令中間的話隻要左邊的指令執行成功,那麼右邊的指令就不會執行。如果左邊的指令執行失敗,那麼右邊的指令就會執行:

<a href="https://s1.51cto.com/wyfs02/M02/A7/37/wKioL1njh6Sy8ZUyAAJ6eDHMEtI840.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/A7/37/wKioL1njh6fTPztKAAMHgosNUqA618.png" target="_blank"></a>

  &amp;&amp;是并且的意思,隻有左邊的指令執行成功的時候,右邊才會執行,隻要左邊的指令沒有執行成功,那麼右邊的指令一定不會被執行:

<a href="https://s1.51cto.com/wyfs02/M01/08/86/wKiom1njil3T1BfvAAGll1Bh_P4589.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M00/A7/37/wKioL1njh6fzUfaLAAFyaEWhE7A820.png" target="_blank"></a>

本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/1972598,如需轉載請自行聯系原作者