Unix 如何删除复杂的重复列
输出如下所示:Unix 如何删除复杂的重复列,unix,Unix,输出如下所示: Date ID S_count U_count 09/01/13 12:00 AM 23 30 0 09/01/13 12:00 AM 27 2 0 09/01/13 12:00 AM 27 4992 0 09/01/13 12:00 AM 8 1036 0 09/01/13 12:00 AM 8 5600 0 09/01/13 01:00
Date ID S_count U_count
09/01/13 12:00 AM 23 30 0
09/01/13 12:00 AM 27 2 0
09/01/13 12:00 AM 27 4992 0
09/01/13 12:00 AM 8 1036 0
09/01/13 12:00 AM 8 5600 0
09/01/13 01:00 AM 23 37 0
09/01/13 01:00 AM 27 1 0
09/01/13 01:00 AM 27 4905 0
09/01/13 01:00 AM 8 1230 0
09/01/13 12:00 AM 27 0 2
09/01/13 12:00 AM 8 0 1036
09/01/13 01:00 AM 27 0 1
09/01/13 01:00 AM 8 0 1230
09/01/13 02:00 AM 27 0 1
09/01/13 02:00 AM 8 0 1477
09/01/13 01:00 AM 8 5401 0
像这样的唱片还有很多。。我想删除那些重复的行。S_计数值与U_计数值类似。所以需要删除U_计数行。
注意:s_计数和U_计数的时间和ID相同 使用
awk
:
Date ID S_count U_count
09/01/13 12:00 AM 23 30 0
09/01/13 12:00 AM 27 2 0
09/01/13 12:00 AM 27 4992 0
09/01/13 12:00 AM 8 1036 0
09/01/13 12:00 AM 8 5600 0
09/01/13 01:00 AM 23 37 0
09/01/13 01:00 AM 27 1 0
09/01/13 01:00 AM 27 4905 0
09/01/13 01:00 AM 8 1230 0
09/01/13 01:00 AM 8 5401 0
使用awk的另一种简单方法
$ awk 'NR==1 || ($6==0)' inputfile
Date ID S_count U_count
09/01/13 12:00 AM 23 30 0
09/01/13 12:00 AM 27 2 0
09/01/13 12:00 AM 27 4992 0
09/01/13 12:00 AM 8 1036 0
09/01/13 12:00 AM 8 5600 0
09/01/13 01:00 AM 23 37 0
09/01/13 01:00 AM 27 1 0
09/01/13 01:00 AM 27 4905 0
09/01/13 01:00 AM 8 1230 0
09/01/13 01:00 AM 8 5401 0
输出:
awk -F " " '$5>0' temp.txt
如果你修改了格式,可能有人会仔细考虑这个问题。
09/01/13 12:00 AM 23 30 0
09/01/13 12:00 AM 27 2 0
09/01/13 12:00 AM 27 4992 0
09/01/13 12:00 AM 8 1036 0
09/01/13 12:00 AM 8 5600 0
09/01/13 01:00 AM 23 37 0
09/01/13 01:00 AM 27 1 0
09/01/13 01:00 AM 27 4905 0
09/01/13 01:00 AM 8 1230 0
09/01/13 01:00 AM 8 5401 0