-u 以合并的方式来显示文件内容的不同
例1:对空白字符进行检查,file1后面有空格
例2:显示全部内容,并标出不同
补充: patch 修复文件(patch用补丁来修复文件。当文件改变的内容少的时候,不需要重新生成文件,只需要找到新旧文件的不同,然后修改不同。)
1. 首先进行软件的安装:
2. 生成补丁:
3. 对旧文件进行恢复:(修复之后,旧文件的内容改变称新文件的内容)
2)cut:对字符进行裁剪
-d 指定分隔符 -f 1,7|1-7|1 指定截取的列(1,7表示截取的第一和第七列;1-7表示截取的时第一到七列) -c 1,3|1-4 指定截取的字符位置-b 以字节为单位进行分割
-n 取消分割多字节字符
示例1:cut -d : -f 1 /etc/passwd ## 指定分隔符,并显示第一列的/passwd的内容
示例2:cut -c 1-4 /etc/passwd ##截取/etc/passwd/文件中第1到4个字符
3) sort:对文件中内容进行排序
-n 纯数字排序 -r 倒叙 -u 去掉重复数字 -o 输出到指定文件中 -t 指定分隔符 -k 指定要排序的列4)uniq:对重复字符的处理 -u 显示结果不含重复字符 -d 显示重复字符 -c 进行重复字符的计算 5)&&和||&& 用来执行条件成立后的命令
|| 用来执行条件不成立后执行的命令6)test 命令和[]等同格式:[ "$a" = "$b" ] && echo yes || echo no ##当a等于b时,输出yes,否则为no
= ##a等b != ##a不等于b -eq ##等于 -nq ##不等于
-gt ##大于 -ge ##大于等于 -le ##小于等于 -lt ##小于
格式:[ "$a" -gt "5" -a|-o "$a" -le "10" ] && echo yes || echo no ##当a大于5,小于等于10时,输出yes,否则为no
-a ##并且 -o ##或者 格式:[ -z|-n "file|变量"]&&echo yes ||echo no ##文件file或变量内容是否为空,空输出yes,否则为no -z ##等于0 -n ##不等于0 格式:[ "file1" -ef "file2" ]&&echo yes ||echo no ##两文件相等,输出yes,否则为no -ef ##两个文件是否相等 -ot ##file1是否比file2旧 -nt ##file1是否比file2新格式:[ -e "file" ]&&echo yes ||echo no ##判断file是否在系统中存在,存在yes,不存在no
-f 是否为文件 -L 是否为连接 -S 是否为套接字 -b 是否为块设备 -d 是否为目录 -c 是否为字符设备7)tr:进行大小写字母的转换 示例:tr 'a-z' 'A-Z' < aa ##将文件中的内容进行小写到大写字母的转换并进行输入(不会改变文件里面的内容)