博主前言
在这里我们将会进一步地学习到进程以及数据流的操作,比如说过滤文本,统计文本,重定向,管道流,进程操作等等,当然我只是谈谈常用的命令以及参数,如果想详细看的话可以man command,利用Linux自带的命令手册去查看一下你想查的命令。这一章也比较有趣,相信大家看了以后会很有收获的!当然,如果说里面有什么问题的话,欢迎和博主华山论剑。
数据处理
1.grep: 进行数据的过滤与筛选。我们平时处理文件时,肯定想查找或者过滤一下我们感兴趣的信息,那么我们就会用到这个东东了。
用法:
- grep text file:这个就是在file文件中查找text文本内容了
这个就是在test.csv文件里面查找Jane内容了,查找到了就会打印出来它所在的行,并且会给它点颜色看看。
当然,我们查找的文本如果没有空格可以直接输入,如果说有空格的话就要用双引号包起来。
- grep -i text file:查找文本内容的时候忽略大小写,其中的i选项就是ignore的意思嘛,忽略大小写。
查找jane的时候忽略大小写,因此查到了Jane
-
grep -n text file:n表示number的意思,查找文本内容的时候显示对应行号 :
这个就把查找内容对应的行号显示出来了。 -
grep -v text file:v表示invert,即颠倒的意思,查找与文本无关的内容。
这个说好了查找80,结果颠倒过来不听话给出来和80无关的行内容。 -
grep -r text file:r表示recursive,即递归的意思,在子目录,子文件当中查找文本内容,file一般为目录。如果你不知道你要查找的文本在哪个内容,就可以一气呵成干脆点,目录里面全盘搜索。
不小心在系统根目录里面查了个80,结果一堆和80有关的,看来是全局搜索没错了。 -
grep搭配正则表达式:接参数E。看看一些常用并且传统的正则表达式符号:
来试试:
这个就是利用符号^来查,就是查找开头为Jane的文本行内容,你看这不打印出来了嘛。对于其它的符号,大家都可以试试。
2.sort: 对文本行内容进行排序。如果说你在操作文件的时候,感觉好杂乱无章,你想让它更好看一些,就可以排序一下。
用法:
- sort sort.txt:对文本行内容排序,默认的是对文本行的首字母进行升序排序:
- sort -o new_file file:给file文件排序,将排序以后的结果存入到新文件中,如果说没有这个文件,那么就会创建。
- sort -r file:有人可能会问,咦,为什么只能升序排呢?不能倒序。我想说这个就是倒序了,r就是reverse的意思嘛,按照行内容首字母倒序排序。
- sort -R file:随机排序,这个看心情吧,它想怎么排就怎么,很叛逆。
- sort -n file:既然有根据首字母来排序的,那么遇到数字怎么办,那就用这个,n就是number,数字的意思,对数字排序