shell中常用的基础命令抓取排序比较


脚本是由数据+逻辑组成的,其中数据的处理是很重要的,接下来学习各种对文本处理的方法。

1、diff找不同

diff 是用来对比两个文件的不同之处。首先创建两个素材如下,
在这里插入图片描述
输入diff testfile1 testfile2,输出信息有【数字+字母+数字】,这里第一个数字表示第一个文件的第几行,第二个数字表示第二个文件的第几行,中间的字母有a表示添加,c表示更改,d表示删除,还会输出<表示第一个文件中的内容,>表示第二个文件中的内容。清楚的看到两个文件的区别。具体的如下图,第一个文件的第四行和第二个文件的第四行更改了,第一个是word,第二个是werd。
在这里插入图片描述

常用参数:
(1)-b 忽略空格
(2)-B 忽略空行
(3)-i 忽略大小写
(4)-c 显示文件所有内容并标示不同
(5)-r 对比目录
(6)-u 合并输出,显示如何从第一个文件修改为第二个文件,即补丁文件
如下图,减就是去掉,加就是添加,就可以从第一个文件修改为第二个文件。
在这里插入图片描述

2、patch打补丁

patch的作用是打补丁,使用时要先dnf安装patch。
patch 原文件 补丁文件,会把原文件根据补丁文件的提示修改为新文件,但是原文件会直接没了。
在这里插入图片描述
我们再次测试,patch -b 原文件 补丁文件 ,会先备份原文件后缀为orig,再把原文件根据补丁文件的提示修改为新文件
在这里插入图片描述

3、cut抓取

(1)-d : 指定:为分隔符
(2)-f 指定显示的列 (5表示第五列| 3,5 表示3和5列|3-5 表示3到5列|5- 表示第五列以后|-5 表示第五列以前)
(3)-c 指定截取的字符(数字用法同-f)

练习1:ifconfig 网卡 可以显示此网卡的信息,显示信息中包含此网卡使用的ip地址,请用命令过滤此ip并在输出时只显示ip其他信息不显示
思路是以空格为分隔符,显示第十列,看前两行,再看最后一行。
在这里插入图片描述

4、sort排序

(1)-n 纯数字排序
(2)-r 倒叙
(3)-u 去掉重复
(4)-o 输出到指定文件
(5)-t 指定分隔符
(6)-k 指定排序的列
sort默认是按照首数字排序的,那么17比3小吗?显然不是,我们需要加-n参数,纯数字排序
在这里插入图片描述
比如现在文件改为下图,现在加-n参数也不管用,需要指定冒号为分隔符,排序第二列,纯数字排序,这样就可以了。
在这里插入图片描述

5、uniq 重复

(1)-c 合并重复并统计重复个数
(2)-d 显示重复的行
(3)-u 显示唯一的行
在这里插入图片描述
练习2:一个文件,很多行数字,找出出现次数最多的数字(如果并列怎么办)
思路是先纯数字排序,然后合并重复并统计重复个数,(默认第一列)把统计的重复个数按倒叙排列,以空格为分隔符抓取第八列,并显示第一行。
在这里插入图片描述
练习3:找出能登陆系统用户中UID最大的用户,并显示其名称grep bash$ /etc/passwd
思路是/etc/passwd文件中bash结尾的就是能登陆系统的,然后以冒号为分隔符第三列(UID)排倒序,抓取第一列,显示第一行。
在这里插入图片描述

6、tr

单个字符转换
tr 'a-z' 'A-Z' 小写转大写
tr 'A-Z' 'a-z' 大写转小写

7、&& 和||

&& 符合条件作动作
|| 不符合条件作动作

练习4:ping ip 可以通显示up,不通显示down
思路是ping 的次数是1,等待1秒,输出导入垃圾桶,如果成功显示绿色的up,如果失败显示红色的down。$1代表后面跟的第一串数字。
在这里插入图片描述

效果是
在这里插入图片描述

8、test 比较

test 命令和 [ ]命令都是用来判断比较的。
常用参数如下:
(1)= 等于
(2)!= 不等于
(3)-eq 等于
(4)-ne 不等于
(5)-le 小于等于
(6)-lt 小于
(7)-ge 大于等于
(8)-gt 大于
(9)-a 并且
(10)-o 或者
(11)-n 判定内容不为空(nozero)
(12)-z 判定内容为空(zero)
(13)unset a 清空a的值
在这里插入图片描述
test对于文件的判定
(1)-ef 文件节点号是否一致(硬链)
(2)-nt 文件1是不是比文件2新
(3)-ot 文件1是不是比文件2老
(4)-d 目录
(5)-S 套结字
(6)-L 软连接
(7)-e 存在
(8)-f 普通文件
(9)-b 块设备
(10)-c 字符设备
在这里插入图片描述
练习5:编写脚本完成以下条件,file_check.sh 在执行时,如果脚本后未指定检测文件报错“未指定检测文件,请指定”
如果脚本后指定文件不存在报错“此文件不存在”,当文件存在时请检测文件类型并显示到输出中。
在这里插入图片描述
效果如下,
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值