grep命令实战:搜索技巧与案例解析
需积分: 12 179 浏览量
更新于2024-09-06
收藏 5KB MD 举报
"这篇markdown文件提供了关于Linux命令`grep`的多个练习题,涉及匹配特定行、用户信息、函数名、路径处理以及IP地址段筛选等应用场景。"
在Linux环境中,`grep`命令是一个强大的文本搜索工具,它能快速地在文件中查找含有指定模式的行。下面是对题目中各个习题的详细解释:
1. **找出`/proc/meminfo`文件中以`s`开头的行**:
- `grep -Ei '^s' /proc/meminfo`:`-E`选项启用扩展正则表达式,`-i`忽略大小写,`^`表示行首。
- `grep -E '^(s|S)' /proc/meminfo`:同样启用扩展正则,这里用或操作符`|`匹配`s`或`S`。
- `grep -Ei '^S' /proc/meminfo`:忽略大小写并仅匹配大写`s`在行首的情况。
2. **显示包含`root`,`centos`或`user1`用户的`/etc/passwd`信息**:
- `grep -E '^\\b(root|centos|user1)\\b' /etc/passwd`:`\b`表示单词边界,确保匹配整个单词,不包含其他字符串的一部分。
3. **找出`/etc/rc.d/init.d/functions`文件中函数名后跟括号的行**:
- `grep -P '\b\w+\b\(\)' /etc/rc.d/init.d/functions`:`-P`选项启用Perl兼容正则表达式,`\w+`匹配一个或多个字母、数字或下划线,`\b`确保函数名边界,`\(`需要转义来匹配实际的左括号。
4. **从绝对路径中提取文件名**:
- `p=/etc/sysconfig/network-scripts/ifcfg-ens33; echo $p | grep -P-o '[^/]+$'`:`-o`选项只输出匹配的部分,`[^/]+`匹配除斜杠外的任何字符直到行尾。
5. **从绝对路径中提取路径名**:
- `p=/etc/sysconfig/network-scripts/ifcfg-ens33; echo $p | grep -P '^/.*/'`:匹配从开始到倒数第二个斜杠的所有内容。
6. **从`ifconfig`输出中筛选出1-255的数值**:
- `ifconfig | grep -E '\b([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b'`:这个正则表达式涵盖了所有一位、两位和三位的数值。
- `ifconfig | grep -P '\b([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\b'`:与上面的正则表达式相同,但使用了`\d`来代表数字。
7. **找出用户名与shell名相同的行**:
- 这个习题涉及到创建用户并检查`/etc/passwd`文件,但没有提供完整的`grep`命令。通常,你可以通过比较用户名和`/etc/passwd`中的`/sbin/nologin`来找到它们,但具体实现未给出。
这些练习展示了`grep`命令的灵活性和强大性,包括正则表达式的使用,这对于日常的系统管理和数据分析工作非常有用。通过掌握这些技巧,可以更有效地在大量文本数据中定位和提取所需信息。
2019-05-21 上传
2018-09-10 上传
2023-05-24 上传
2023-05-25 上传
2023-06-13 上传
2023-06-13 上传
2023-09-05 上传
2021-05-19 上传
2021-09-30 上传
日光渐冷夜微凉
- 粉丝: 1
- 资源: 1
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜