嵌入式开发交流网论坛

标题: 搞定Linux命令之进程与数据流,不服来辩!|原力计划 [打印本页]

作者: heavenyin1324    时间: 2020-6-6 01:43
标题: 搞定Linux命令之进程与数据流,不服来辩!|原力计划
[attach]44457[/attach]
作者 | 行者自远责编 | 夕颜出品 | CSDN博客本文中,我们将一起来学习Linux进程和数据流的操作,比如过滤文本,统计文本、重定向、管道流、进程操作等,当然只是谈谈常用的命令以及参数,如果想详细看的话可以man command,利用Linux自带的命令手册去查看一下你想查的命令。文章比较有趣,相信大家看了以后会很有收获的!当然,如果说里面有什么问题的话,欢迎和博主华山论剑。

数据处理

1.grep:进行数据的过滤与筛选。我们平时处理文件时,肯定想查找或者过滤一下我们感兴趣的信息,那么我们就会用到这个东东了。
用法:
grep text file:这个就是在file文件中查找text文本内容了
[attach]44458[/attach]


这个就是在test.csv文件里面查找Jane内容了,查找到了就会打印出来它所在的行,并且会给它点颜色看看。
当然,我们查找的文本如果没有空格可以直接输入,如果说有空格的话就要用双引号包起来。

查找jane的时候忽略大小写,因此查到了Jane。

这个就把查找内容对应的行号显示出来了。

这个说好了查找80,结果颠倒过来不听话给出来和80无关的行内容。
[attach]44459[/attach]
不小心在系统根目录里面查了个80,结果一堆和80有关的,看来是全局搜索没错了。
[attach]44460[/attach]
来试试:

这个就是利用符号^来查,就是查找开头为Jane的文本行内容,你看这不打印出来了嘛。对于其它的符号,大家都可以试试。
2.sort:对文本行内容进行排序。如果说你在操作文件的时候,感觉好杂乱无章,你想让它更好看一些,就可以排序一下。
用法:
[attach]44461[/attach]
[attach]44462[/attach]

[attach]44463[/attach]
当然,以上所有的参数都可以搭配使用,比如说对数字倒序排序:sort -r -n file。灵活变通就行啦。
3.wc:这个可不是我们平时说的WC,用处可大了,可以统计我们文本当中的行数,单词数,字节数等等。
用法:
[attach]44464[/attach]
[attach]44465[/attach]
4.uniq:uniq一看就直到是unique,与众不同嘛,那么就允许重复的出现,这个就是为了删除文件中的重复内容。
[attach]44466[/attach]
5.cut:剪切文件内容,可以做到提取部分我们想要的内容。
用法:
cut -c 2-4 file:每一行只保留第2到4个字符,-c就是根据字符剪切。
[attach]44467[/attach]

输出重定向
我们输入一个命令以后,它的结果一般有三个去处:
我们之前看到的有终端,文件的,接下来博主会介绍一种新的,即去往其它命令的输入(管道的时候会说)。
1.>: 把输出内容重定向到一个文件中,并且如果这个文件已经存在并且有内容则会覆盖。
[attach]44468[/attach]
cat命令的结果最终重定向输出到test文件中去了,如果多次重定向到这个文件,那么就会覆盖之前的内容。
2.>>: 这个就和上面有点差别,虽然也是重定向输出到文件但是不会覆盖,只是会继续接到后面。
[attach]44469[/attach]3. 2>:上面那几个都是标准输出的重定向,前提在于那些命令是对的,不会报错,但是这个命令就和上面不一样了,虽然用法一样,但是这个是标准错误输出的重定向,如果说命令错误了,那么错误信息就可以用这个来重定向输出。

4. 2>>: 这个也和上面介绍的>>差不多,只不过也是错误输出的重定向,不会覆盖。
5. 2>&1: 把错误和标准输出都重定向到文件中,一般放最后面,和>,>>一起搭配使用。
比如说:
cat not_exist_file.csv > results.txt 2>&1这个就是标准输出,错误输出都会重定向到results.txt文件中。

输入重定向


1.




欢迎光临 嵌入式开发交流网论坛 (http://www.dianzixuexi.com/bbs/) Powered by Discuz! X3.2