比较两个文件中,一个文件比另一个文件多的行

1. 该脚本用来比较两个文件中,其中一个文件比另一个文件多的行,常用来工作环境中,对比得出多余的ip地址

#!/bin/bash
#different in file1 and file2
#author:vaedit
#date:2017/8/20
#read -p "请输入第一个文件路径" file1
#read -p "请输入第二个文件路径" file2
function print_help(){
    echo "该脚本只用来对比一个文件比另一个文件多出的行的内容"
    echo "useage -f file1 file2"
}
function grepfile(){
    if [ -f $file1 -a -f $file2 ]
        then
    FILE1_LENTH=`wc -l $file1 | awk ‘{print $1}‘`
    FILE2_LENTH=`wc -l $file2 | awk ‘{print $1}‘`
            if [ "$FILE1_LENTH" -gt "$FILE2_LENTH" ]
              then
                   echo "$file1 中有,$file2 中没有的行如下"
                    echo -e "\e[32;40;1m===========================================\e[0m"
                    echo  "==========================================="
                    grep -vwf "$file2" "$file1"
                    echo  "==========================================="
                    echo -e "\e[32;40;1m===========================================\e[0m"
              else
                   echo "$file2 中有,$file1 中没有的行如下"
                    echo -e "\e[32;40;1m===========================================\e[0m"
                    echo "==========================================="
                   grep -vwf "$file1" "$file2"
                    echo "==========================================="
                    echo -e "\e[32;40;1m===========================================\e[0m"
            fi
    else
        echo "请输入正确的文件路径"
        exit 1
    fi
}
while test -n "$1";do
    case "$1" in
         -h| --help)
          print_help
          exit
          ;;
         -f| --file)
          file1="$2"
          file2="$3"
          grepfile
          shift 3
          ;;
         *)
          echo "==========================================="
          print_help
          exit
esac
done
时间: 2024-12-23 03:20:00

比较两个文件中,一个文件比另一个文件多的行的相关文章

将一个文件中的内容,在另一个文件中生成. for line in f1, \n f2.write(line)

将一个文件中的内容,在另一个文件中生成. 核心语句: for line in f1: f1中的所有一行 f2.write(line)                                  # 是直接写入f1中出来的每一行,用   .write() 原文地址:https://www.cnblogs.com/jack20181017/p/9863521.html

在类的头文件中尽量少引入其他头文件 <<Effective Objective-C>>

与C 和C++ 一样,Objective-C 也使用"头文件"(header file) 与"实现文件"(implementation file)来区隔代码.用Objective-C 语言编写"类"(class)的标准方式为:以类名做文件名,分别创建两个文件,头文件后缀用.h,实现文件后缀用.m.创建好一个类之后,其代码看上去如下所示: // EOCPerson.h #import <Foundation/Foundation.h>

OC高效率52:(二)类的头文件中尽量少引用其他头文件

// //  EOCPerson.h //  OC高效率52:类的头文件中尽量少引用其他头文件 // //  Created by Zoujie on 15/10/8. //  Copyright ? 2015年 Zoujie. All rights reserved. // #import <Foundation/Foundation.h> //#import "EOCEmployer.h" @class EOCEmployer;//向前申明该类,将引入头文件的时机尽量延

将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件

原文地址:将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件 需求如下:编写一个程序 将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中 a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔. 废话不多说,直接上代码: package javase.arithmetic;   import com.google.common.base.Charsets; import com.google.common.base.Joiner;

檢查php文件中是否含有bom的php文件

原文链接: http://www.cnblogs.com/Athrun/archive/2010/05/27/1745464.html 另一篇文章:<关于bom.php>,http://hi.baidu.com/aullik5/blog/item/f0e589127a28a2f0f7039e5e.html 另一篇文章:<[BOM]PHP程序的UTF8神秘编码问题之解>,http://www.mlecms.com/tech/56.html 类似WINDOWS自带的记事本等软件,在保存

第2条:在类的头文件中尽量少引入其他头文件

@class (向前声明) #import 注意:如果在各自头文件中引入对方的头文件,则会导致“循环引用 ”. 虽然#import(而非#inculde指令)不会导致死循环,但却意味着两个类里有一个无法被正确编译.

如何在Qt资源文件中包含exe等各种类型文件?

操作系统:Windows 10 X64 企业版 Qt: 5.8.0 QtCreater: 4.2.1 刚刚开始学习Qt,不断遇到困难和挑战,前几天在各个QQ群里询问如何在Qt的资源文件中包含和释放exe可执行文件,结果没有谁给我一个准确的答复,包括问写过图书的选手!!我现在非常鄙视写书的选手,是高傲还是为了面子,对于我的问题根本就不回答!!!不仅仅是一个写书选手这样,很多个!!!我相信很多作者都是乐于帮助别人,极少数人才这个德性!!!! Qt做为开发了这么多年的跨平台GUI开发解决方案,我相信这

在.cpp文件中定义变量,在.h文件中extern

在cocos2d-x 的D:\phoneclient\cocos2dxlib\cocos\base\CCValue.h 文件中,发现如下代码: 全局查找之后,在D:\phoneclient\cocos2dxlib\cocos\base\CCValue.cpp 文件中,找到变量的定义: extern int a;//这是声明aint a;//这是定义a正常情况下都是h声明cpp定义. 声明和定义是不同的,声明可以有多次,定义只能有一次.h文件可能被很多cpp文件包含,所以里面只能写声明不能写定义,

向properties文件中写入信息(针对获取properties文件失败的总结)

前段时间项目需要将某个属性动态的写入项目发布路径下的properties文件中;但是实际发布时发现找不到maven项目resource路径下的project.properties文件,调试多次代码如下: /** * 写入properties信息 * * @param key 名称 * @param value 值 */ public static void modifyConfig(String key, String value) { try { // 从输入流中读取属性列表(键和元素对) P

编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。

package cn.itcast; import java.io.File; import java.io.FileReader; import java.io.FileWriter; public class MainClass{ public static void main(String[] args) throws Exception{ FileManager a = new FileManager("a.txt",new char[]{'\n'}); FileManager