比较两文件

sh/bash/dash/ksh/zsh等Shell脚本
回复
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

比较两文件

#1

帖子 chengmoYS » 2012-05-22 16:08

比方说我有2个文件a.txt和b.txt
a.txt文件内容为
1
2
3
4
5
b.txt文件内容为
1
2
4
3
5
我先要求比较这2个文件
得到不同的行,分别列出不同内容的行的2个文件各自的内容

请问awk能够处理这2个文件 分别读取第一行 依次 进行比较吗
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 比较两文件

#2

帖子 eexpress » 2012-05-22 16:12

可以。去irc找胖子问。
● 鸣学
chengmoYS
帖子: 125
注册时间: 2007-10-22 22:40

Re: 比较两文件

#3

帖子 chengmoYS » 2012-05-22 16:15

irc不会用
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 比较两文件

#4

帖子 eexpress » 2012-05-22 16:19

你直接diff不就得了。
用awk就最好去irc。
● 鸣学
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 比较两文件

#5

帖子 lilydjwg » 2012-05-22 16:31

comm 命令可以做到吧。
senots
帖子: 43
注册时间: 2008-06-30 23:35

Re: 比较两文件

#6

帖子 senots » 2012-05-28 12:18

代码: 全选

awk 'BEGIN {print "a.txt\tb.txt"} NR==FNR {a[$1]=$0} NR>FNR {if($1!=a[FNR]) print a[FNR]"\t  "$1}' a.txt b.txt
试试~
头像
youzhiyili
帖子: 2422
注册时间: 2012-03-22 20:42
系统: ubuntu22.04

Re: 比较两文件

#7

帖子 youzhiyili » 2012-05-28 13:27

senots 写了:

代码: 全选

awk 'BEGIN {print "a.txt\tb.txt"} NR==FNR {a[$1]=$0} NR>FNR {if($1!=a[FNR]) print a[FNR]"\t  "$1}' a.txt b.txt
试试~
:em06 :em11
bijiao.png
@自由建客 @qy117121 @枫叶饭团 @cikekid @YeLee @jtshs256 @eexpress @ljj_jjl2008 @zhw2101024 @TeliuTe @月下叹逍遥 @leeaman @懒蜗牛Gentoo @灰色小狼 @photor @adagio @JiangHui @phoenixlzx @oneleaf
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 比较两文件

#8

帖子 自由建客 » 2012-05-31 9:20

diff 不好用吗?
回复