shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用(上)

简介: shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用

了解shell中的通配符

熟悉grep、cut、sort等小工具和shell中的通配符的使用


#一、文本处理工具


##1. grep工具


grep是**行**过滤工具;用于根据关键字进行行过滤


语法和选项

语法:


#grep [选项] '关键字'文件名


常见选项:


OPTIONS:
-i: 不区分大小写-v: 查找不包含指定内容的行,反向选择-w: 按单词搜索-o: 打印匹配关键字-c: 统计匹配到的行数-n: 显示行号-r: 逐层遍历目录查找-A: 显示匹配行及后面多少行-B: 显示匹配行及前面多少行-C: 显示匹配行前后多少行-l:只列出匹配的文件名-L:列出不匹配的文件名-e: 使用正则匹配-E:使用扩展正则匹配^key:以关键字开头key$:以关键字结尾^$:匹配空行--color=auto:可以将找到的关键词部分加上颜色的显示



颜色显示(别名设置):


临时设置:#aliasgrep='grep --color=auto'//只针对当前终端和当前用户生效永久设置:1)全局(针对所有用户生效)vim/etc/bashrcaliasgrep='grep --color=auto'source/etc/bashrc2)局部(针对具体的某个用户)vim~/.bashrcaliasgrep='grep --color=auto'source~/.bashrc


举例说明:


说明:不要直接使用/etc/passwd文件,将其拷贝到/tmp下做实验!


#grep-irootpasswd忽略大小写匹配包含root的行#grep-wftppasswd精确匹配ftp单词#grep-whellopasswd精确匹配hello单词;自己添加包含hello的行到文件#grep-woftppasswd打印匹配到的关键字ftp#grep-nrootpasswd打印匹配到root关键字的行好#grep-nirootpasswd忽略大小写匹配统计包含关键字root的行#grep-nicrootpasswd忽略大小写匹配统计包含关键字root的行数#grep-i^rootpasswd忽略大小写匹配以root开头的行#grepbash$passwd匹配以bash结尾的行#grep-n^$passwd匹配空行并打印行号#grep^#/etc/vsftpd/vsftpd.conf匹配以#号开头的行#grep-v^#/etc/vsftpd/vsftpd.conf匹配不以#号开头的行#grep-A5mailpasswd匹配包含mail关键字及其后5行#grep-B5mailpasswd匹配包含mail关键字及其前5行#grep-C5mailpasswd匹配包含mail关键字及其前后5行


##2. cut工具


cut是**列**截取工具,用于列的截取


语法和选项

语法:


#cut选项文件名


常见选项:


-c: 以字符为单位进行分割,截取-d: 自定义分隔符,默认为制表符\t-f: -d一起使用,指定截取哪个区域


举例说明:


#cut-d: -f11.txt:冒号分割,截取第1列内容#cut-d: -f1,6,71.txt:冒号分割,截取第1,6,7列内容#cut-c41.txt截取文件中每行第4个字符#cut-c1-41.txt截取文件中每行的1-4个字符#cut-c4-101.txt截取文件中每行的4-10个字符#cut-c5-1.txt从第5个字符开始截取后面所有字符


课堂练习:

用小工具列出你当系统的运行级别。5/3


如何查看系统运行级别

命令runlevel

文件/etc/inittab

如何过滤运行级别

runlevel|cut-c3runlevel|cut-d' '-f2grep-v'^#'/etc/inittab|cut-d: -f2grep'^id'/etc/inittab|cut-d: -f2grep"initdefault:$"/etc/inittab|cut-c4grep-v^#/etc/inittab|cut-c4grep'id:'/etc/inittab|cut-d: -f2cut-d':'-f2/etc/inittab|grep-v^#cut-c4/etc/inittab|tail-1cut-d: -f2/etc/inittab|tail-1
相关文章
|
2月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
330 2
|
3月前
|
Shell Linux 数据处理
Shell文本处理秘籍:掌握这11种工具,让数据处理如虎添翼!
在Linux信息环境,文本数据处理是一项基础而重要的技能。对于广大Linux用户而言,掌握Shell环境下的文本处理工具不仅能提高工作效率,还能在面对复杂数据时游刃有余。 本文将介绍,那些在文本处理中不可或缺的`11`种命令工具,让数据处理技能更上一层楼。
|
4月前
|
Shell Linux C语言
|
4月前
|
Shell 网络安全 UED
|
6月前
|
弹性计算 运维 Shell
基于Shell的灵活配置管理工具
【4月更文挑战第30天】
74 1
|
6月前
|
弹性计算 运维 监控
|
6月前
|
搜索推荐 算法 Java
sort-06-shell sort 希尔排序算法详解
这是一个关于排序算法的系列文章摘要。文章汇总了各种排序算法,包括冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序、归并排序、计数排序、桶排序以及大文件外部排序。特别地,希尔排序是一种改进的插入排序,通过使用不同的步长对元素进行分组排序,以提高效率。算法最终以较小的步长进行排序,接近线性时间复杂度。文章还提供了Java代码实现,并举例说明了希尔排序的过程。所有内容可在开源项目[https://github.com/houbb/sort](https://github.com/houbb/sort)中找到。
|
6月前
|
网络协议 Unix Shell
第十一章 Shell常用命令与工具(二)
第十一章 Shell常用命令与工具(二)
|
6月前
|
移动开发 Shell Linux
第十一章 Shell常用命令与工具(一)
第十一章 Shell常用命令与工具(一)
|
6月前
|
运维 Shell Python
第七章 Shell文本处理三剑客之grep
第七章 Shell文本处理三剑客之grep