uniq命令用于移除或發(fā)現(xiàn)文件中重復(fù)的條目。
現(xiàn)在有一個(gè)文件,其內(nèi)容如下所示:
$ cat example.txt
aaa
aaa
bbb
bbb
bbb
ccc
使用uniq命令,不帶有任何選項(xiàng)時(shí),它將移除文件中重復(fù)的行并顯示單一行:
$ uniq example.txt
aaa
bbb
ccc
使用-c選項(xiàng),可以統(tǒng)計(jì)重復(fù)行出現(xiàn)的次數(shù):
$ uniq -c example.txt
2 aaa
3 bbb
1 ccc
使用-d選項(xiàng),只顯示文件中有重復(fù)的行并只顯示一次:
$ uniq -d example.txt
aaa
bbb
使用-D選項(xiàng),與-d選項(xiàng)類似linux命令,但它顯示文件中所有重復(fù)的行:
$%20uniq%20-D%20example.txt
aaa
aaa
bbb
bbb
bbb
使用-u選項(xiàng),只顯示文件中不重復(fù)的行:
$%20uniq%20-u%20example.txt
ccc
現(xiàn)在我們將示例文件修改成如下內(nèi)容:
$%20cat%20example.txt
aaa%20bbb
aaa ccc
bbb aaa
bbb ccc
ccc ccc
使用-w選項(xiàng),可以限制uniq命令只比較每行的前N個(gè)字符。
例如,下面的實(shí)例中l(wèi)inux命令,限制uniq命令只比較每行的前3個(gè)字符是否重復(fù):
$ uniq -w 3 example.txt
aaa bbb
bbb aaa
ccc ccc
使用-s選項(xiàng),可以避免uniq命令比較每行的前N個(gè)字符,即跳過每行的前N個(gè)字符,只比較后面的字符。例如,下面的實(shí)例中,
避免uniq命令比較每行的前3個(gè)字符,只比較后面的字符是否重復(fù):
$ uniq -s 3 example.txt
aaa bbb
aaa ccc
bbb aaa
bbb ccc
使用-f選項(xiàng),可以避免uniq命令比較前N列,即跳過前N列(這里列以空格分隔),只比較后面的字符。例如,下面的實(shí)例中,
避免uniq命令比較第一列的內(nèi)容,只比較后面的字符是否重復(fù):
$ uniq -f 1 example.txt
aaa bbb
aaa ccc
bbb aaa
bbb ccc