合併兩個列表,同時刪除重複項
我有一個使用 Busybox (OpenWRT) 的嵌入式 linux 系統 - 所以命令是有限的。我有兩個看起來像的文件:
第一個文件
aaaaaa bbbbbb cccccc mmmmmm nnnnnn
第二個文件
mmmmmm nnnnnn yyyyyy zzzzzz
我需要將這 2 個列表合併到 1 個文件中,並刪除重複項。 我沒有 diff(空間有限),所以我們可以使用很棒的
awk
,sed
, andgrep
(或可能包含在標準 Busybox 實例中的其他工具)。轉到合併文件,例如:command1 > mylist.merge command2 mylist.merge > originallist
完全沒問題。它不必是單行命令。
我正在使用的 Busybox 實例中目前定義的函式(預設 OpenWRT):[、[[、arping、ash、awk、basename、brctl、bunzip2、bzcat、cat、chgrp、chmod、chown、chroot、clear、cmp、 cp、crond、crontab、cut、date、dd、df、dirname、dmesg、du、echo、egrep、env、expr、false、fgrep、find、free、fsync、grep、gunzip、gzip、halt、head、hexdump、 hostid, hwclock, id, ifconfig, init, insmod, kill, killall, klogd, less, ln, lock, logger, logread, ls, lsmod, md5sum, mkdir, mkfifo, mknod, mktemp, mount, mv, nc, netmsg, netstat, nice, nslookup, ntpd, passwd, pgrep, pidof, ping, ping6, pivot_root, pkill, poweroff, printf, ps, pwd, reboot, reset, rm, rmdir, rmmod, route, sed, seq, sh, sleep,排序,啟動-停止-守護程序,字元串,switch_root,同步,sysctl,syslogd,tail,tar,tee,telnet,telnetd,測試,time, top, touch, tr, traceroute, true, udhcpc, umount, uname, uniq, uptime, vconfig, vi, watchdog, wc, wget, which, xargs, yes, zcat
我想
sort file1 file2 | uniq aaaaaa bbbbbb cccccc mmmmmm nnnnnn yyyyyy zzzzzz
會做你想做的。
在一個沒有任何管道的命令中:
sort -u FILE1 FILE2
搜尋
禁止重複行