首页 > 沙子 > Linux命令删除重复行

Linux命令删除重复行

2012年2月9日 sigma 发表评论 阅读评论

有时候处理文本,需要删除重复的行,可以通过uniq命令完成。

比如文本test.txt:

aaa
aaa
bbb
bbb
aaa
aaa
aaa

可以通过下面命令删除连续重复行:

cat test.txt | uniq

得到文本:

aaa
bbb
aaa

假如想删除全局重复行,uniq后面可以加上-d 选项。
更多用法见 man uniq:

NAME       uniq – report or omit repeated lines
SYNOPSIS       uniq [OPTION]… [INPUT [OUTPUT]]
DESCRIPTION       Discard all but one of successive identical lines from INPUT (or standard input), writing to OUTPUT (or standard output).
Mandatory arguments to long options are mandatory for short options too.
-c, –count              prefix lines by the number of occurrences
-d, –repeated              only print duplicate lines
-D, –all-repeated[=delimit-method]              print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines.
-f, –skip-fields=N              avoid comparing the first N fields
-i, –ignore-case              ignore differences in case when comparing
-s, –skip-chars=N              avoid comparing the first N characters
-u, –unique              only print unique lines
-z, –zero-terminated              end lines with 0 byte, not newline
-w, –check-chars=N              compare no more than N characters in lines

本文作者: Sigma    在新浪微博关注SigmaSigmaWeibo    RSS订阅本博客
本文链接: http://mblog.sigma.me/2012/02/09/linux%e5%91%bd%e4%bb%a4%e5%88%a0%e9%99%a4%e9%87%8d%e5%a4%8d%e8%a1%8c.html
本博客采用知识共享署名—非商业性-禁止演绎使用3.0协议进行许可,转载请保留作者和原文链接。

分类: 沙子 标签: ,

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量