每当我在此特定文本文件上使用sort -un
函数时,它都会删除某些值。现在-n
是数字排序,而-u
是删除重复项,我认为没有理由为什么它应该只删除那些只有开放端口的条目。
aaa@aaa cat test
All 1500 scanned ports on 10.10.10.10 are open|filtered
161/udp open|filtered snmp
161/udp open snmp
161/udp open snmp
161/udp open snmp
aaa@aaa cat test | sort -un
All 1500 scanned ports on 10.10.10.10 are open|filtered
161/udp open|filtered snmp
任何想法为什么排序功能有这个奇怪的bahaviour?我会说明sort -un
与sort -n file | sort -u
答案 0 :(得分:3)
sort -u
删除相互比较相同的项目。
sort -n
指定数字比较。
因此,就161
而言,评估为数值sort -un
的行是相同的,因此有资格删除。
也许您可能希望sort -u test | sort -n
- 执行唯一性传递,将行比较为字符串,然后将解释传递为数字值。