本文主要是介绍[Linux] Linux三剑客使用手册,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一 作用
三者的功能都是处理文本,但侧重点各不相同。
- grep更适合单纯的查找或匹配文本
- sed更适合编辑匹配到的文本
- awk功能最强大,但也最复杂。awk更适合格式化文本,对文本进行较复杂格式处理。
二 grep
2.1 命令格式
grep
[option] pattern file
- PATTERNS: 这里直接跟的是你要搜索的模式或字符串。例如,如果你想搜索包含"hello"的行,就直接写
hello
。 - OPTION: 这些是可选参数,用来控制搜索的具体行为,比如
-i
表示不区分大小写搜索,-v
表示输出不匹配该模式的行等。 - [FILE...]: 指定要搜索的文件名。如果省略文件名,
grep
默认处理标准输入,即你可以通过管道(|)从其他命令接收输入。
2.2 常见[option]参数:
- -A<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。
- -B<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。
- -C<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。
- -c:统计匹配的行数
- -e :实现多个选项间的逻辑or 关系
- -E:扩展的正则表达式
- -f FILE:从FILE获取PATTERN匹配
- -F :相当于fgrep
- -i --ignore-case #忽略字符大小写的差别。
- -n:显示匹配的行号
- -o:仅显示匹配到的字符串
- -q: 静默模式,不输出任何信息
- -s:不显示错误信息。
- -v:显示不被pattern 匹配到的行,相当于[^] 反向匹配
- -w :匹配 整个单词
2.3 示例
2.3.1 查看当前目录下有多少个普通文件
ls -l | tail -n +2 | grep '^-' | wc -l
ls -l | tail -n +2 | grep -v '^d' | wc -l
- 首先我们使用ls -l 列出所有文件
- 然后使用tail -n +2 从第二行开始显示上一个命令的输出,因为ls -l命令有一个总用量统计的输出在第一行,会影响最终的统计
- 接着我们使用grep ^- 匹配以-开头的行,或者用第二个命令 -v参数显示以非d开头的行
- 最后使用wc -l 来统计行数。
这篇关于[Linux] Linux三剑客使用手册的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!