Linux文本处理与文件内容搜索命令

文本处理工具

一.cut 切割

		-b:以字节为单位进行分割
		-c:以字符为单位进行分割
		-d:定义分隔符
			-f:指定显示的区域

二. sort 排序

		-f:忽略大小写
		-b:忽略最前面的空白
		-n:以纯数字排序
		-r:反向排序
		-u:去重
		-t:分隔符
		-k:以某个区进行排序
		-o:将排序结果写入文件

三.uniq:去重

        只去除相邻行相同的 所以和sort合用
		-c  在每一行前显示出现的次数
		-d  显示重复的行
		-i  不区分大小写
		-u  只显示唯一的行
		-s  跳过前几个字符
		-w  忽略第几个字符以后的内容

四. wc:word count数量

		-w:字数
		-l:行数
		-L:最长行长度
		-c 字节
		-m 字符

Linux文件搜索工具

一. grep:文本过滤工具

        依赖正则表达式对文本进行处理
		--color=auto    默认别名
		-i:忽略大小写
		-o:只显示匹配到的字符
		-v:显示不能被匹配到的行
		-E:支持扩展正则表达式    
		-n:显示行号
		-A num   后多少行
		-B num  前多少行
		-C num  前后多少行

正则表达式:类似通配符

	**特殊字符文本编辑模式,字符代表**
		正则表达式元字符           类似命令行通配符

1.字符匹配

				.:匹配任意单个字符
				[]:匹配指定范围内的任意单个字符
				[^]:匹配指定范围外的任意单个字符
				[a-Z]:匹配所有字母
				[[:upper:]]:匹配大写字母
				[[:lower:]]:匹配小写字母
				[[:digit:]]:  数字
				[[:punct:]]:  标点符号
				[[:alpha:]]:  所有字母
				[[:space:]]:  空白字符**

2.匹配次数

				*:匹配其前面的字符任意次 ---- 0 1 多次   
				.*:匹配任意长度的任意字符
				\?:匹配其前面的字符0次或者1次
				\+:匹配其前面的字符至少1次 
				\{m\}:匹配前面的字符m次
				\{m,n\}:匹配前面的字符至少m次至多n次
				\{0,m\}:至多m次
				\{m,\}:至少m次

3.位置锚定

				^:行首锚定  用于匹配模式的最左侧
				$:行尾锚定  用于匹配模式的最右侧
				^$:空白行
				^[[:space:]]*$ 行尾之前任意的空白字符   也是空白行
				^pattern$ 行首行尾锚定相同pattern
			    匹配单词
				\< \b :词首锚定  用于单词匹配模式的最左侧
				\> \b :词尾锚定  用于单词匹配模式的最右侧
				\<pattern\>  p匹配完整单词
		小练习:
			1、显示出/etc/passwd中不以/bin/bash结尾的行
				# grep -v "/bin/bash$" /etc/passwd

			2、显示出/etc/passwd中的2位数和3位数
				# grep  -o "\b[0-9]\{2,3\}\b" /etc/passwd

			3、找出/etc/init.d/functions文件中 以一个空白字符开头,且后面是非空白字符的行 并显示行号
				# grep -n "^[[:space:]]\+[^[:space:]]"  /etc/init.d/functions

			4、显示出/etc/fstab文件中 以UUID开头的行
				# grep "^UUID" /etc/fstab
				
			5、显示出/etc/fstab文件中不以#开头的行
				# grep -v "^#" /etc/fstab

4.分组和引用

				\(\):将一个或者多个字符捆绑在一起,当作一个整体去处理
				\(\) \#
				\1:模式从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配到的字符
				\2
				\3
				....
				
				He loves his lover
				He likes his lover
				She likes her liker
				She loves her liker
				
				# grep "l..e.*l..e" file 
			    He loves his lover
				He likes his lover
				She likes her liker
				She loves her liker
				# grep "\(l..e\).*\1"  file  
				He loves his lover	 
				She likes her liker
				在这里相当于引用第一个括号里的单词,之后找的单词必须和之前括号里首先找到的单词一致   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Baby-DRagon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值