shell - 删除指定内容的重复行
删除指定内容的重复行
2004-04-23 15:18 pm来自:Linux文档
现载:Www.8s8s.coM
地址:无名
$cat test
werwrtert
ERROR*
ERROR*
ddffadfasf
sdfsfsfsfs
ERROR*
ERROR*
ERROR*
end
ERROR*
dddd
ERROR*
期望:
$./cx test
werwrtert
ERROR*
ddffadfasf
sdfsfsfsfs
ERROR*
end
ERROR*
dddd
ERROR*
脚本cx如下:
$cat cx
#!/usr/bin/awk -f
{ if ($0 == "ERROR*" && error_line == "ERROR*")
next; error_line=$0; print }
---------------------------
cat test | uniq
但是你没有指定重复的内容,这样,别的重复行也被删除了
如果test中有
abc
abc
如果我不希望删除abc呢?呵呵
补充一下uniq的用法
1. 无选项参数: 将源文件中的连续多相同行简化为一行,然后输出全文
2. -d : 将源文件中的连续多相同行简化为一行,然后输出这些行
2. -u : 排除源文件中的连续多相同行,然后输出其他行