shell中经常会用到的文本处理命令:diffcutsort

Posted Tuki_a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中经常会用到的文本处理命令:diffcutsort相关的知识,希望对你有一定的参考价值。

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	##指定排序的列

如果不加任何参数就默认按首字符(第一个数字)大小正序排序

以上是关于shell中经常会用到的文本处理命令:diffcutsort的主要内容,如果未能解决你的问题,请参考以下文章

shell中的变量与eval(转)

Shell编程之正则表达式

经常会用到的时间戳

经常会用到的时间戳

面向对象中经常会用到序列图讲解

shell中sed命令的用法