实现自己的compare程序

------------------------------------------------------------
author: hjjdebug
date: 2024年 08月 03日 星期六 11:31:31 CST
description: 实现自己的compare程序
------------------------------------------------------------
用bcompare 比较两个文件, 需要输入两个文件名称.
目录下有很多report开头的文本文件,它的格式是report-y-M-d_h_m_s.txt
我们总是比较最新生成的2个report 文件.
我们不想输入这2个文件名称了,太烦! 让计算机来干吧. 于是我写了如下的脚本.
操作方法是:
1.用ls 名称排序的倒序输出文件列表
2.用awk 收集到文件名称
3.用awk 调用shell命令 bcompare来完成比较

$cat mycompare.sh
#/bin/bash
ls report* -r|awk 'NR<=2{a[NR]=$0} END{print a[1]; print a[2]; cmd="bcompare "a[1]" "a[2];print cmd;system(cmd)}'

awk 的 print 是提示信息,也是调试信息
awk 实现信息收集, 将感兴趣的信息收集到数组a中
awk 实现字符串拼接, 直接写就可以了,字符串要用双引号引起来
awk 调用bash 命令, 用system 函数, 参数就是要执行的整个命令字符串

bash+awk, cool!

执行

./mycompare.sh  

bcompare程序即被调出来了.  它的比较文件名称,由计算机为我们自动补全.
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值