当前位置:Linux教程 - Shell - shell - 删除指定内容的重复行

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 : 排除源文件中的连续多相同行,然后输出其他行