第八章 Shell基础知识 (下)
一、shell特殊符
二、和管道有关的命令
一、shell特殊符
- *匹配任意个字符
- ?匹配任意一个字符
- [] 匹配中括号中的一个字符
- #注释字符
- \ 脱义字符
- | 管道符
- $变量前缀
- !$组合 ,正则里表示行尾
- ; 多条命令分隔符,可同时执行
- ~用户家目录,正则里表示配配符
- &放到命令后面,会把命令丢到后台
- > >> 2> 2>> &> &>>输出重定向
- 【】指定字符中的一个即可,例【0-9】、【a-z】等
- || :表示或者。用于命令之间时,若前面的命令执行失败,就执行后面的命令;若前面的命令执行成功,后面的命令就不再执行
- &&:表示与。用于命令之间时,若前面的命令执行失败,后面的命令就不再执行;若前面的命令执行成功,则继续执行后面的命令
二、和管道有关的命令
2.1 cut命令
cut:分割符
格式:cut [-dfc] n
-d:后跟分隔符,以某个字符作为分隔
-f:指定段号,后面跟数字,表示第几段
-c:指定第几个字符
n:表示数字
注:在使用-c选项时,不能使用-d/-f选项
2.2 sort命令
sort 用作排序,以阿斯玛顺序排序
格式:sort [-t分隔符] [-kn1,n2] [-nru]
-t:后跟分隔符,以某个字符作为分隔(与cut -d选项一样)
-kn1,n2:n1,n2表示数字。表示由n1区间排序到n2区间,可以只写-kn1,即以第几列的值排序
-r:表示反向排序
-n:表示使用纯数字排序(字母、特殊符号默认为0)
注:如果sort不加任何选项,则以阿斯玛(ASCII)值进行排序,最后将他们按升序输出。(特殊符号-数字-字母-*号等顺序,第一个字符一样时,向后比较)
2.3 wc命令
wc命令用户统计文档的行数、字符数或词数。
常用选项:
-l:统计行数
-w:统计词数,以空格或空白符作为分隔
-m:(-chars)统计字符数,包含隐藏的
-c :(-bytes)统计字符数(字节数)
注:如果wc后面不跟任何选项,直接跟文档,则会把行数、词数、字符数一次输出
2.4 uniq命令
uniq命令用来用来删除重复的行。uniq 【-c】【filename】
-c:统计出现的行数,即重复数
注:使用uniq去重时,必须先排序,否则不相邻的重复值不能删除
2.5 tee命令
后面跟文件名,其作用类似与重定向>,单它比重定向多了一个在写入时,在屏幕上显示的功能
-a:追加,类似>>,并在屏幕上显示
2.6 tr命令
tr命令针对字符操作,用于替换字符。
选项:(作为了解)
-d:表示删除某个字符,后面跟要删除的字符
-s:表示删除重复的字符。
注:替换、删除、删除重复字符都只能针对一个字符,有局限
2.7 split命令
split命令用于切割文档。
格式:split 【-bl】filename
选项:
-b:根据大小切割文档
-l:根据行数切割文档
如果不指定切割文件名,则会以xaa、xab。。。这样的文件名来存取切割后的文件。我们制定的filename也只是作为切割后文件名的前缀。