如:有如下 2 个文件:
$ cat a.txt 1111111 2222222 3333333 7777777 9999999
$ cat b.txt 1111111 2222222 3333333 4444444 7777777 5555555 6666666 8888888 9999999
将 2 个文件的差级输出到文件 c.txt
$ cat c.txt 4444444 5555555 6666666 8888888
请问如何实现?
![]() | 1 Yang2635 2022-08-10 23:10:19 +08:00 via Android ![]() sort a.txt b.txt | uniq -u |
![]() | 2 yinyu 2022-08-10 23:10:23 +08:00 两个都要遍历一遍,然后再对方里面 grep ,然后 wc 看看行数,如果等于零就说对方没有,就写到 c 里面,可能大佬们,有更好的办法吧。 |
![]() | 3 Yang2635 2022-08-10 23:10:43 +08:00 via Android comm -13 a.txt b.txt |
![]() | 4 nuk 2022-08-10 23:10:45 +08:00 可以用 comm ,但是要求输入是已经排序好的 |
![]() | 5 Privileges 2022-08-10 23:11:20 +08:00 grep -wvf a.txt b.txt |
![]() | 6 id4alex 2022-08-10 23:13:05 +08:00 ![]() cat a.txt b.txt | sort | uniq > tmp.txt grep -vf a.txt tmp.txt > c.txt grep -vf b.txt tmp.txt >> c.txt |
![]() | 7 weiiai 2022-08-10 23:13:53 +08:00 ![]() diff -a a.txt b.txt | grep ">" | sed 's/> //' |
![]() | 8 mantis OP 需要输出到一个新文件,需要完整的 shell 脚本,不是简单的命令,谢谢大家。 |
![]() | 9 id4alex 2022-08-10 23:14:21 +08:00 又从各位老哥这里学习到了 shell 技巧 |
![]() | 11 wbd31 2022-08-10 23:21:31 +08:00 diff a.txt b.txt | awk '{if($0~/^[<>]/)print substr($0, 3)}' |
12 PMR 2022-08-10 23:24:11 +08:00 via Android 这问题前几天有人问过 另 shell 脚本不就是塞命令进去? 还能编译个二进制不成? |
![]() | 15 codingBug 2022-08-11 03:19:37 +08:00 善用[搜索引擎]( https://unix.stackexchange.com/questions/428419/how-to-write-the-difference-between-two-files-into-a-file) 不知道是不是你要的效果 `diff a.txt b.txt|grep ">"| cut -c 3- > c.txt` |
![]() | 16 aaa5838769 2022-08-11 08:00:57 +08:00 上面各个大佬都已经给完整的命令,脚本就是有各种命令组成的,你自己粘贴进去就可以用了。 |
![]() | 17 masker 2022-08-11 09:03:50 +08:00 via Android ![]() 伸手党的胜利:大佬已经给出了答案,还嫌大佬不够手把手教 |
18 qooweds 2022-08-11 09:06:37 +08:00 又到了学习 shell 花式技巧的时间啦,期待更多新命令 |
![]() | 19 knightdf 2022-08-11 09:26:30 +08:00 comm -3 <(sort a.txt) <(sort b.txt) |
![]() | 20 cwcc 2022-08-11 09:33:30 +08:00 借个楼问下,如果是那种.patch 的文件,怎么应用到文件上呢?还有.patch 文件是怎么来的 |
![]() | 21 itechify PRO ![]() 请善用搜索引擎,端饭人前还嚷嚷要喂吗? |
24 try4times 2022-08-11 13:05:21 +08:00 某公司在赛码上的笔试题? |
25 bmsac0001 2022-08-11 13:18:13 +08:00 via Android 为什么不用 diff |
![]() | 26 maxbon 2022-08-11 15:30:53 +08:00 先排序再用 diff 呀 |
![]() | 27 Acoolda 2022-08-11 16:40:37 +08:00 我推荐大家每日一问,大佬收获指导众生的满足感,我们收获知识。两全其美. |