shell 脚本中的基本命令

1.diff命令

作用:比较两个文件或目录的不同

格式:diff   [options]   target1   target2
diff file1 file2比较两个文件的不同之处
diff direcory1 directory2比较两个目录的不同之处

(1)diff 在比较文件过程中结果读取方式

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

例:2,4c2,4 表示改变第一个文件中的第二行和第四行才能匹配第二个文件中。
在这里插入图片描述
(2)diff 在比较目录过程中结果的读取

Only in directroy/: filename只有directroy这个目录有filename这个文件
directory 表示在这个目录中
filename 表示在这个目录的文件

在这里插入图片描述
(3)diff 中常用的参数

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.patch命令

作用:用于不同文件打补丁

命令格式 patch   [options]     file.old(旧文件)    file.path(补丁文件)使用补丁文件来完善旧文件

在这里插入图片描述
在这里插入图片描述

3.cut命令

作用:用于字符截取

cut -d指定分隔符
cut -f 1,7|1-7指定截取的列(需指定分割符)
cut -c 1,4|1-4指定截取的字符位置(不需要指定分隔符)

注:1,7表示第一列和第七列;1-7表示第一列到第七列
在这里插入图片描述

4.sort命令

作用:用于字符排序

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

在这里插入图片描述
在这里插入图片描述

5.uniq命令

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

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

在这里插入图片描述

6.&&和||

&&:用来执行条件成立后执行的命令
| |:用来执行条件不成立后执行的命令

在这里插入图片描述

7.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:与条件(and)
[ "$A" -ne "$B" -o "$A" -gt "$B" ]	//-o:或条件(or)
[ -z "$A" ]		//判断是否为空;-z:zero--空为真
[ -n "$A" ]		//条件相反就是真
[ "file1" -ef "file2" ]	//判断前后两个文件是否互相为硬链接
[ "file1" -nt "file2" ]	//判断前面的硬链接是否新;file1新为真
[ "file1" -ot "file2" ]	//判断前面的硬链接是否旧:file1旧为真
[ -e "file" ]		//判断文件是否存在
[ -f "file" ]		//判断文件是否为普通文件
[ -d "file" ]		//判断是否为目录
[ -L "file" ]		//是否为软链接
[ -S "file" ]		//判断是否为套接字
[ -b "file" ]		//判断是否为块设备
[ -c "file" ]		//判断是否为字符设备

在这里插入图片描述
在这里插入图片描述

8.tr命令

作用:可以对来自标准输入的字符进行替换

tr 'a-z' 'A-Z'

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值