博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LINUX系统下的shell命令---diff、cut、sort、uniq等
阅读量:5905 次
发布时间:2019-06-19

本文共 1477 字,大约阅读时间需要 4 分钟。

1)diff:比较两个文件或目录的不同
    -b      不检查空格字符的不同
    -B      不检查空白行
    -c      显示全部内容,并标出不同之处
    -i      不检查大小写的不同
    -p      若比较的文件为C语言程序码时,显示差异所在的函数名称
    -q      仅显示有无差异,不显示详细的信息
    -r      比较子目录中的文件
(对多级目录进行比较)  

      -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      ##将文件中的内容进行小写到大写字母的转换并进行输入(不会改变文件里面的内容)

    

转载于:https://www.cnblogs.com/uthnb/p/9508994.html

你可能感兴趣的文章
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
minio 并发数_MinIO 参数解析与限制
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
System.Func<>与System.Action<>
查看>>
asp.net开源CMS推荐
查看>>
csharp skype send message in winform
查看>>
MMORPG 游戏服务器端设计--转载
查看>>
HDFS dfsclient写文件过程 源码分析
查看>>
ubuntu下安装libxml2
查看>>
nginx_lua_waf安装测试
查看>>
WinForm窗体缩放动画
查看>>
JQuery入门(2)
查看>>
linux文件描述符
查看>>
传值引用和调用引用的区别
查看>>
hyper-v 无线网连接
查看>>