shell中经常会用到的文本处理命令:diff、cut、sort

4 篇文章 0 订阅

diff、patch(打补丁用)

diff命令:用来比较两个文件的不同

用法:
diff [options] files|directorys
示例:
diff file0 file1	# 文件的不同
diff dir0 dir1		# 目录的不同

diff 命令是以行为单位比较两个文件或目录的不同。
一般是用在 ASCII 纯文本文件的比对上。
由于是以行为比对的单位,因此 diff 通常是用在同一文件(或软件)的新旧版本差异上对比上,
能够借由 diff 创建的分析档,以处理补丁(patch)功能的文件

常用参数:
-b	##忽略空格
-B	##忽略空行
-i	##忽略大小写
-c	##显示文件所有内容并标示不同
-r	##对比目录
-u	##合并输出,生成补丁,-减少+增加

命令执行后的输出信息表示的意思:
[num1,num2][a|c|d][num3,num4]
num1,num2	##第一个文件中的行
a		##添加
c		##更改
d		##删除

<		##第一个文件中的内容
>		##第二个文件中的内容

num3,num4	##第二个文件中的行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

patch:
利用diff命令和patch命令打补丁(将某文件与其他文件不一样的地方变一样):
dnf install patch -y				#安装补丁软件
diff -u -b file0 file1 > file.path	#生成file0的相对于file1的补丁文件
#-b打补丁不会删掉原文件
patch file0 file.path				#会把file0文件变成与file1相同的文件

在这里插入图片描述

cut

cut : 截取文件字符
-d :	##指定:为分隔符
-f 		##指定显示的列,注意是列!!! 
-f 5	##第五列
-f 3,5 ##第3和5列
-f 3-5  ##第3到5列
-f 5-   ##第五列以后
-f -5 	##到第五列
-c		##指定截取的字符(数字用法同-f)

在这里插入图片描述
应用:输入ifconfig命令后会显示详细的网络信息,只截取其中的ip信息予以显示

ifconfig ens160 | head -n 2 | tail -n 1 | cut -d ' ' -f 10
我们逐一分析这条命令:
ifconfig ens160	:显示ens160网卡的信息
ifconfig ens160 | head -n 2 : 在上面的基础上显示头两行的信息
ifconfig ens160 | head -n 2 | tail -n 1 :在上面的基础上显示最后一行的信息
ifconfig ens160 | head -n 2 | tail -n 1 | cut -d ' ' -f 10 :在上面的基础上以空格为分割符截取第10列的信息

在这里插入图片描述

sort

sort :对文件中的内容排序
-n	##纯数字排序
-r	##倒叙
-u	##去掉重复
-o	##输出到指定文件
-t	##指定分隔符
-k	##指定排序的列

如果不加任何参数就默认按首字符(第一个数字)大小正序排序
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值