shell腳本去重的三種方法小結(jié)
測試文件如下
jason jason jason fffff jason
第一種去重方法: sort -u 文件名 或者 cat 文件名 | sort -u
[root@bogon ~]# sort -u test fffff jason
但這樣只是將去重后的結(jié)果打印在屏幕上,如果想將去重后的內(nèi)容保存下來,語句為:
sort -u 文件名 > 新文件名
或者
cat 文件名 | sort -u > 新文件名
即可將去重后的內(nèi)容保存在新文件名中
第二種去重方法: uniq 文件名 或者 cat 文件名 | uniq
[root@bogon ~]# uniq test jason fffff jason
由此可見,uniq需要先排序后才能去重,同時(shí)將去重后的結(jié)果保存在新文件中:cat 文件名 | sort | uniq > 新文件名
第三種去重方法:sort、管道和uniq結(jié)合運(yùn)用
(1)去除重復(fù)并保留一份重復(fù)的數(shù)據(jù)
[root@bogon ~]# sort test|uniq fffff jason
(2)去除所有重復(fù)的行(不保留重復(fù)的行),并計(jì)算行數(shù)
[root@bogon ~]# sort test|uniq -uc 1 fffff
(3)找出所有重復(fù)的行,并計(jì)算行數(shù)
[root@bogon ~]# sort test|uniq -dc 4 jason
(4)根據(jù)某個(gè)字段去重
[root@bogon ~]# sort -k 1,1 -u test fffff jason
查看sort的用法,-k參數(shù)是這么描述的:
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of line)
也就是說-k哪幾個(gè)列進(jìn)行排序,pos1是開始列,pos2是結(jié)束列
到此這篇關(guān)于shell腳本去重的幾種方法小結(jié)的文章就介紹到這了,更多相關(guān)shell腳本去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux網(wǎng)絡(luò)編程用到的網(wǎng)絡(luò)函數(shù)詳解用和使用示例
本文對linux網(wǎng)絡(luò)編程用到的網(wǎng)絡(luò)函數(shù)做了簡單介紹,提供了使用示例供大家參考2013-11-11輸出執(zhí)行操作和打印日志的shell腳本實(shí)例
下面小編就為大家?guī)硪黄敵鰣?zhí)行操作和打印日志的shell腳本實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03程序中獲取linux系統(tǒng)啟動(dòng)時(shí)間方法
需要在應(yīng)用程序獲取系統(tǒng)的啟動(dòng)時(shí)間,通過sysinfo中的uptime可以計(jì)算出系統(tǒng)的啟動(dòng)時(shí)間,下面介紹一下獲取方法,大家參考使用吧2014-01-01Linux 中shell腳本設(shè)置開頭固定格式的實(shí)現(xiàn)方法
這篇文章主要介紹了Linux 中shell腳本設(shè)置開頭固定格式的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Shell腳本實(shí)現(xiàn)檢測進(jìn)程是否正在運(yùn)行
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)檢測進(jìn)程是否正在運(yùn)行,本文給出的代碼簡潔清晰,并給出了使用方法,需要的朋友可以參考下2015-01-01非常實(shí)用的23個(gè)Shell腳本實(shí)例
為大家整理了23個(gè)實(shí)例,通過23個(gè)實(shí)戰(zhàn)經(jīng)典腳本實(shí)例,可以拿來就用,根據(jù)大家的需求可以直接使用,為大家整理了23個(gè)實(shí)例,希望此文章對各位有所幫助2021-06-06