系统相关
首页 > 系统相关> > Shell之常用命令(diff、path、cut、sort、uniq、tr、path)

Shell之常用命令(diff、path、cut、sort、uniq、tr、path)

作者:互联网

Shell之常用命令(diff、cut、sort、uniq、tr、path)

作用:比较两个文件或目录的不同
diff [options] target1 target2

比较结果读取方式说明:

[num1,num2][a|b|c][num3,mum4]
num1,num2表示在第一个文件中的行数
a(add) 表示添加
c(change)表示更改
d(delete)表示删除
<表示第一个文件的内容,>表示第二个文件的内容
---分割线
num3,num4表示在第二个文件中的行数

常用参数:

-b或--ignore-space-change  ##不检查空格字符的不同
-B或在--ignone-blank-line  ##不检查空行
-c 		##显示全部内文,并标出不同之处
-i或--ignore-case  ##不检查大小写的不同
-p 		##若比较文件为C语言的程序码文件时,显示差异所在汉书名称
-q或--brief 	##仅显示有无差异,不显示详细的信息
-r或--recursive ##比较子目录中的文件
-u 		##以合并的方式来显示文件内容的不同

作用:命令多用于与字符截取

常用参数:

-d  ##指定分隔符
-d : -f 1,3|1-3 ##指定分割符为:截取第1和第3列或第1到第3列
-c 1,3|1-3 ##指定截取第1和第3列或第1到第3列的字符

截取网段:

ifconfig eth0| head -n 2 |tail -n 1 | cut -d " " -f 10
ifconfig eth0| head -n 2 |tail -n 1 | awk '{print $2}'
ifconfig eth0| awk '/inet\>/{print $2}'

作用:用于字符排序

参数:

不加参数 ##按照第一个字符的大小排序,默认从小到大
-r ##倒序排序
-n ##纯数字排序
-rn ##纯数字倒序排序
-u ##去掉重复数字
-o ##输出到指定文件中
-t ##指定分隔符
-k ##指定要排序的列

ll文件大小排序:

ll | sort -t " " -k 5 -rn |grep "total" -v

作用:对重复字符做相应的处理

参数:

-u ##显示唯一的行
-d ##显示重复的行
-c ##每行显示一次并统计重复次数

作用:文件内字母大小写转换

tr "a-z" "A-Z" file ##小写转换大写
tr "A-Z" "a-z" file ##大写转换小写

作用:patch常用来打补丁,修文件中的不同之处,使得两个文件一致。
用法:

diff -u top1 top2 > top.path # 生成补丁,这是top1文件和top2 文件相比较产生的补丁,对top1文件生效。
patch top1 top.path # 使用生成的补丁对top1 文件进行修补,这种方式为无备份的修改,修改完成后,原来top1 文件的内容消失。
patch -b top1 top.path # 在使用补丁对top1 文件内容进行修改时,保留源内容到.orig文件中

END

标签:sort,文件,Shell,##,tr,top1,path,排序
来源: https://blog.csdn.net/weixin_44828950/article/details/90382603