找出文件中不同的行
  JiJ96DoSHEh4 2023年11月19日 17 0
#今日脚本需求:
#有两个文件a.txt和b.txt,需求是把a.txt中有的且b.txt中没有的行找出来,并写入到c.txt,然后计算c.文件的行数

### 分割线,以下为脚本正文
#---------------------------------
#!/bin/bash
#author:amung (vx:lishumung2o09)
#verson:v1

#如果c.txt已经存在就先删除掉 
[ -f c.txt ] && rm -f c.txt


## 使用while循环遍历a.txt所有行
cat a.txt | while read line
do
        ## 如果b.txt里面没有这行内容,将其写入c.txt
        if ! grep -q "${line}$" b.txt
        then
                echo ${line} >> c.txt
        fi
done

## 计算c.txt行数
## 或者使用grep实现
## grep -vwf b.txt a.txt > c.txt; wc -l c.txt

<<"COMMENT"
关键知识点总结:
1)遍历文件每一行,用while read ... 而不是for
2) grep "^${abc}$" b.txt 过滤的是完整的行,从头匹配到结尾
COMMENT
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

JiJ96DoSHEh4
最新推荐 更多