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的主要内容,如果未能解决你的问题,请参考以下文章