码迷,mamicode.com
首页 > 系统相关 > 详细

Linux20180424五周第五次课(4月24日)

时间:2018-04-24 22:23:01      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:shell 命令以及特殊符号

五周第五次课(4月24日)

8.10 shell特殊符号cut命令
8.11 sort_wc_uniq命令
8.12 tee_tr_split命令
8.13 shell特殊符号下
相关测验题目:http://ask.apelearn.com/question/5437
扩展
1. source exec 区别 http://alsww.blog.51cto.com/2001924/1113112
2. Linux特殊符号大全http://ask.apelearn.com/question/7720
3. sort并未按ASCII排序 http://blog.csdn.net/zenghui08/article/details/7938975



技术分享图片


\脱义符号,作用和之前说过的单引号差不多,都是不解析,直接输出。

echo \$a\$b

技术分享图片



技术分享图片


| head -n 将管道符前面的cat的文件的前n行取出来

技术分享图片


cut

 -d "分隔符"

 -f 选取第几段

-c 选取第几个字符


cut -d ":" -f 1-3 

以:为分隔符,选取1-3行

技术分享图片

技术分享图片

技术分享图片


sort 排序

技术分享图片

可以看一下特殊符号,数字,字母的排序。

技术分享图片

特殊符号排最前面,其次是数字,最后是字母,*会认为是0


-n参数的时候,会以数字大小去排序,但是字母和特殊符号被认为是0所以会在数字前面


技术分享图片


-r反序排序


-t分隔符  -kn1/-kn1,n2


wc -l wc是word count 数单词的 -l 是行的意思 所以 wc -l 是 统计多少行

技术分享图片


wc -m 统计字符数,因为每一行会有一个换行符,所以每行会多一个字符

技术分享图片

-w 统计词 word

技术分享图片 以空格或者空字符来区分的



uniq 去重,需要先排序把相同的放在一起,才使用去重。因为不排在一起无法直接uniq去重。看下图

技术分享图片

所以就需要先排序,再去重。先用sort 将所有的重新排序,再用管道符uniq去重。如下图。

技术分享图片

uniq -c 统计重复次数,如下图

技术分享图片

sort和uniq一般连着用比较多


sort uniq wc等都不会对文件本身的内容做出更改



tee和重定向>类似,会把结果打印到屏幕上 如果后面加上文件名会将前面的结果写入到后面的文件中

技术分享图片

技术分享图片



tee -a 就是追加 类似 >>

技术分享图片  


tr替换字符, | tr "xx" "mmm" 将管道符前面的字符中的xx换成mmm。 如果想把所有的小写换成大写,可以写成 tr '[a-z]' '[A-Z]'  是一一对应的

技术分享图片


技术分享图片



split 切割文件  -b 跟大小 默认单位是字节  -l 跟行数 b就是以大小为单位切割 l就是以行为大小切割

例如log文件日积月累,越来越大就需要给切割成若个小的文件

可以从下图看到,切割成了很多个文件




技术分享图片

du -sh * 查看每一个都是4k的原因是以块显示

技术分享图片

du -sb * 以字节显示,可以看到都是以字节显示的了,按照上面切割时候的大小 1000bite

技术分享图片

如果不指定切割的文件名,最后出来的文件都是以x开头后面从a开始接,接到z之后再从b开始,如果不够用就往后加长度。


技术分享图片


不仅仅是可以用-b指定大小,还可以同时指定名字的前缀。

技术分享图片


然后是-l 来以行为单位切割文件 可以看到6081行的文件切割成了7个文件 6个1000 1一个81


技术分享图片



















shell特殊符号

技术分享图片

多条命令的情况

技术分享图片

技术分享图片

技术分享图片


|| 或 表示如果第一个命令不成功才执行第二个命令,当然不局限于两个命令之间,可以一直往下进行

技术分享图片

因为第一个执行成功了,所以第二个没有执行

技术分享图片

&& 与,表示但凡遇到一个不成立的,后面都不再执行了。

技术分享图片

技术分享图片


生活中的场景,shell脚本,想创建一个目录,首先判断这个目录是否存在。

[ -d jiabin] || mkdir jiabin

jiabin是否是一个目录,前面执行失败,也就是没有这个目录的时候,后面才会进行mkdir的操作


技术分享图片

Linux20180424五周第五次课(4月24日)

标签:shell 命令以及特殊符号

原文地址:http://blog.51cto.com/13691454/2107460

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!