SHELL基础--(diff cut sort test tr )

shell常用基本命令

diff命令

diff diff描述两个文件不同的方式是告诉我们怎么样改变第一个文件之后与第二个文件匹配

 

diff [options]target1 target2
differ A B
常用参数:
-b 忽略空格字符的不同
-B 忽略空白行的不同
-c显示全部内文,并标出不同
-i  忽略字母的大小写
-q只显示有无差异,并不显示详细信息
-r 比较子目录中的文件
-u合并方式显示同

 

-u   合并方式表不同

补丁的建立:yum install patch -y   下载patche

diff -u yun zhai > name.path将不同放到name.path

patch -b yun name.path  将不同再添加到yun这个文件里,此时文件修复完成

打完补丁:—p会生成一个备份文件.orig,如图

cut 命令多用于字符截取


   cut -d 指定分离符
    -f 指定列
    -c 指定截取位置

例1:截取ifconfig eth0 的IP
方法一:ifconfig eth0 | cut -d " " -f 10 | head -n 2 | taile -n 1
方法二:ifconfig eth0 | awk '/inet\>{clprint $2}'
 找到int开始的这个字符,/inet\表示找到该字符,然后输出该字符后边的第二个字符
方法三:ifconfig eth0 | grep "inet" | cut -d " " -f 10

sort 多用于字符排序

sort    -n 纯数字排序
    -r 倒序
    -u 去掉重复数字
    -o 输出到指定文件里
    -t 指定分隔符
    -k 指定要排序的列


uniq 对重复数字进行相应的处理

uniq    -u 显示唯一的行
           -d 显示重复的行
           -c 每行显示一次,并且统计重复的次数
这两个
经常搭配使用:

 

例2:分离出/etc/*.conf里最大的五个文件的文件名字
ls -l | sort -t " " -k 5 -nr | head -n 5 | cut -c 43-
含义:先把这些文件放到一个目录里,然后进入该目录:

 

test命令:

test相当于[ ]

test "$A"=="$B" 等同 ["$A"=="$B"]

[ "$A"=="$B" ]  等于
[ "$A"!="$B" ]  不等于

[ "$A"-eq"$B" ] 等于
[ "$A"-ne"$B" ] 不等于
[ "$A"-le"$B" ] 小于等于
[ "$A"-lt"$B" ] 小于
[ "$A"-ge"$B" ] 大于等于
[ "$A"-gt"$B" ] 大于
[ "$A" -ne "$B" -a "$A" -gt "$B" ] 两个条件都必须满足
[ "$A" -ne "$B" -o "$A" -gt "$B" ] 两个条件至少满足一个
[ -z "$A" ]  字符串长度是否为0
[ -n "$A" ]  字符串长度是否不为0
[ "file1" -ef "file2" ] 两个文件具有相同的设备号和节点号
[ "file1" -nt "file2" ] 文件1比文件2新
[ "file1" -ot "file2" ] 文件1比文件2旧

[ -e "file" ] 是否存在
[ -f "file" ] 普通文件
[ -L "file" ] 软连接tr命令:
[ -S "file" ] 套接字
[ -b "file" ] 块设备
[ -d "file" ] 目录
[ -c "file" ] 字符设备

例题1:判断输入的数字是否在10以内

1.输入是否为空
2.是否在10以内
3.1<a&lt;10−−>yes4.
a<10−−>yes4.a<1 $a>10 --> no

例题2:写一个脚本,判断该文件的属性

 

tr命令:

进行字母大小写转换:

tr "a-z" "A-Z"  将小写转换成大写

tr "A-Z" "a-z"  将大写转换成小写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值