VIM可以把文本1的内容减去文本2中相同的内容不?

Vim、Emacs配置和使用
回复
jsjcjsjc
帖子: 149
注册时间: 2007-03-03 13:36
送出感谢: 2 次
接收感谢: 0

VIM可以把文本1的内容减去文本2中相同的内容不?

#1

帖子 jsjcjsjc » 2010-02-01 22:50

比如文本1中是:

代码: 全选

3
2
1
4
5
文本2是:

代码: 全选

4
1
3
现在需要得到
2
5

就是文本1减去文本2的内容
这个可以办到吗 :em06

如果不行的话,用什么软件可以办到?
上次由 jsjcjsjc 在 2010-02-02 0:09,总共编辑 2 次。
头像
adam8157
帖子: 2794
注册时间: 2009-03-05 16:31
送出感谢: 0
接收感谢: 8 次
联系:

Re: VIM可以把文本1的内容减去文本2中相同的内容不?

#2

帖子 adam8157 » 2010-02-01 22:53

这不就是diff和patch么?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: VIM可以把文本1的内容减去文本2中相同的内容不?

#3

帖子 eexpress » 2010-02-01 23:06

sort + diff
● 鸣学
jsjcjsjc
帖子: 149
注册时间: 2007-03-03 13:36
送出感谢: 2 次
接收感谢: 0

Re: VIM可以把文本1的内容减去文本2中相同的内容不?

#4

帖子 jsjcjsjc » 2010-02-02 0:10

adaml 写了:这不就是diff和patch么?
貌似不可以用diff的吧 顺序不是一至的
jsjcjsjc
帖子: 149
注册时间: 2007-03-03 13:36
送出感谢: 2 次
接收感谢: 0

Re: VIM可以把文本1的内容减去文本2中相同的内容不?

#5

帖子 jsjcjsjc » 2010-02-02 21:16

CMD中 强大的for命令

@echo off
del /f 文本3.txt
for /f "tokens=*" %%i in (文本1.txt) do (
findstr "%%i" 文本2.txt||echo %%i>>文本3.txt
)
start 文本3.txt
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
送出感谢: 0
接收感谢: 3 次
联系:

Re: VIM可以把文本1的内容减去文本2中相同的内容不?

#6

帖子 xiooli » 2010-02-02 22:24

代码: 全选

b="$(< 2.txt)"
cat 1.txt|while read l;do [ "`grep -w "$l" <<< "$b"`" ] || echo $l >> 3.txt; done
jsjcjsjc
帖子: 149
注册时间: 2007-03-03 13:36
送出感谢: 2 次
接收感谢: 0

Re: VIM可以把文本1的内容减去文本2中相同的内容不?

#7

帖子 jsjcjsjc » 2010-02-02 22:58

xiooli 写了:

代码: 全选

b="$(< 2.txt)"
cat 1.txt|while read l;do [ "`grep -w "$l" <<< "$b"`" ] || echo $l >> 3.txt; done
:em04
回复

回到 “Vim和Emacs”