笔记内容:
l8.10 shell特殊符号cut命令
l8.11 sort_wc_uniq命令
l8.12 tee_tr_split命令
l8.13 shell特殊符号下
笔记日期:2017.8.16
8.10 shell特殊符号cut命令
特殊符号:
1.* 任意个任意字符通配符
2.? 任意一个字符
3.# 注释字符
一条命令前面加注释字符的话,命令就不会执
4.\ 脱义字符,有些字符是命令,所以需要脱义符来让这个字符变成普通字符,而非命令字符:
5.| 管道符,把前面命令的输出结果交给后面的命令执行
cut命令可以分割字符串,可以指定某个字符进行分割,例如我要分割passwd文件里的字符串,并以冒号为分割符,然后指定查看第一段字符串:
如果要查看两段需要加个逗号:
想要查看一个范围可以这么写:
使用-c选项可以查看第几个字符,例如我也要查看第四个字符:
8.11 sort_wc_uniq命令
sort命令可以对字符串或数字排序,排序的方法是安照ASCII码排序的,例如我排序passwd文件的内容:
例如排序一个含有特殊字符的文件:
加-n选项会照数字去排序,这时相对于数字来说字母和特殊符号相当于是零:
-r则是倒序排序:
wc -l命令是统计行数的:
加- w选项是安照单词统计,这个单词是以逗号或者空格分开的一个个词:
uniq命令是去掉重复的字符:
uniq命令可以和sort命令搭配使用,先排序去重:
8.12 tee_tr_split命令
tee命令和输出重定向有点像,它们的区别是tee是可以看到输出重定向的结果,>则不能看到:
tee -a 追加重定向:
tr命令是用来替换字符的,针对字符来操作的:
split切割命令,可以用来切割文件,因为有些文件太大了,不方便查看,所以需要使用split来切割成多个文件来方便查看,split可以针对大小切割也可以针对行数切割:
8.13 shell特殊符号下
想要把多条命令写在一行里,就需要使用分号分割:
||是或者的意思,写在两条命令中间的话只要左边的命令执行成功,那么右边的命令就不会执行。如果左边的命令执行失败,那么右边的命令就会执行:
&&是并且的意思,只有左边的命令执行成功的时候,右边才会执行,只要左边的命令没有执行成功,那么右边的命令一定不会被执行: