笔记内容:

8.10 shell特殊符号cut命令

8.11 sort_wc_uniq命令

8.12 tee_tr_split命令

8.13 shell特殊符号下

笔记日期:2017.8.16

 

8.10 shell特殊符号cut命令

 特殊符号:

 1.* 任意个任意字符通配符

wKioL1njhYXwkL_YAAJLC_4fPTc887.png


2.? 任意一个字符

wKiom1njiDzRHYmiAAF1-wFwkhs268.png


3.# 注释字符

一条命令前面加注释字符的话,命令就不会执

wKioL1njhYexE0UhAAFqNC6qQOk106.png


4.\ 脱义字符,有些字符是命令,所以需要脱义符来让这个字符变成普通字符,而非命令字符:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第1张图片


5.| 管道符,把前面命令的输出结果交给后面的命令执行

wKiom1njiD-CQWuTAAHa3a1_xqI097.png



shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第2张图片


cut命令可以分割字符串,可以指定某个字符进行分割,例如我要分割passwd文件里的字符串,并以冒号为分割符,然后指定查看第一段字符串:

wKioL1njhY7i2sXqAAI14e5E4PU626.png


如果要查看两段需要加个逗号:

wKioL1njhavBxc3rAAIpHZBwCK4526.png


想要查看一个范围可以这么写:

wKiom1njiGLCDRQPAAJnVDl1xBo463.png


使用-c选项可以查看第几个字符,例如我也要查看第四个字符:





8.11 sort_wc_uniq命令

  sort命令可以对字符串或数字排序,排序的方法是安照ASCII码排序的,例如我排序passwd文件的内容:



例如排序一个含有特殊字符的文件:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第3张图片


-n选项会照数字去排序,这时相对于数字来说字母和特殊符号相当于是零:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第4张图片


-r则是倒序排序:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第5张图片


wc -l命令是统计行数的:



-m选项则是统计字符数,包括换行符:

wKiom1njiTDQ1Kj0AAD-BJrXyGE674.png


- w选项是安照单词统计,这个单词是以逗号或者空格分开的一个个词:

wKioL1njhnyCHan-AAEGAgzxRGk313.png


uniq命令是去掉重复的字符:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第6张图片

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第7张图片


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

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第8张图片




8.12 tee_tr_split命令

  tee命令和输出重定向有点像,它们的区别是tee是可以看到输出重定向的结果,>则不能看到:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第9张图片


tee -a 追加重定向:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第10张图片


tr命令是用来替换字符的,针对字符来操作的:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第11张图片


  split切割命令,可以用来切割文件,因为有些文件太大了,不方便查看,所以需要使用split来切割成多个文件来方便查看,split可以针对大小切割也可以针对行数切割:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第12张图片

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第13张图片

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第14张图片





8.13 shell特殊符号下

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第15张图片


想要把多条命令写在一行里,就需要使用分号分割:



  ||是或者的意思,写在两条命令中间的话只要左边的命令执行成功,那么右边的命令就不会执行。如果左边的命令执行失败,那么右边的命令就会执行:

shell特殊符号cut命令,sort_wc_uniq命令,tee_tr_split命令_第16张图片


  &&是并且的意思,只有左边的命令执行成功的时候,右边才会执行,只要左边的命令没有执行成功,那么右边的命令一定不会被执行:

wKioL1njh6fzUfaLAAFyaEWhE7A820.png