AIX下uniq命令简介及使用

uniq用来从一个文本中去除或禁止重复的行;sort的-u选项也可以去除重复行。 命令格式:uniq -u[-d[,-c]] -f input_file output_file -u:只显示不重复的行 -d:只显示有重复数据的行,每种重复行只显示其中一行 -c:打印每一重复行出现次数 -f:n为数字,前n个域被忽略,不识别-f选项的系统使用-n选项 我们来看下面的例子: 有重复数据的文件week.txt 1 Monday 2 Monday 3 Tuesday 4 Tuesday 5 Wednesday 6 Monday 7 TuesDay 8 Thursday 9 Friday 10 Saturday 11 Sunday 12 Friday 重复的数据有Monday(1,2,6),Tuesday(3,4,7),Friday(9,12)。 查看week.txt文件中,重复的行: uniq -d week.txt Monday Tuesday 注意,这里只显示重复数据中,Monday和Tuesday这两行,但是Friday这个重复行并没显示。 下面查看不重复的行: uniq -u week.txt Wednesday Monday TuesDay Thursday Friday Saturday Sunday Friday 注意,这里面包含了出现2次的Friday,他们不是重复数据吗? 答案:他们确实非重复数据。 我们再看每行重复的次数: uniq -c week.txt 2 Monday 2 Tuesday 1 Wednesday 1 Monday 1 TuesDay 1 Thursday 1 Friday 1 Saturday 1 Sunday 1 Friday 从这里,我们看到Monday和Tuesday重复了2次,而Friday就出现了一次,不重复。 原来,AIX将连续出现的相同数据认为是重复数据, 而同样的数据(Friday),非连续出现,就不认为重复。 这是区别于DB2数据库中表的重复数据的,DB2数据库表中,, 只要相同的数据,连续或者非连续出现多次,则认为重复。 sort也具有去除重复的功能: sort -u week.txt Friday Monday Saturday Sunday Thursday Tuesday TuesDay Wednesday uniq命令还可以根据域进行去重。 看下面的例子: pg parts.txt AK47 GOOD DS123 GOOD ER001 GOOD 显示每行的出现次数: uniq -c parts.txt 1 AK47 GOOD 1 DS123 GOOD 1 ER001 GOOD 按照第二个域进行去除重复: uniq -f2 parts.txt AK47 GOOD

都属于昨天。哪怕那山再青,那水再秀,

AIX下uniq命令简介及使用

相关文章:

你感兴趣的文章:

标签云: