国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

利用 Linux 查找重復(fù)文件

系統(tǒng) Linux
本部分算是對(duì)find強(qiáng)大功能的擴(kuò)展使用方法說(shuō)明。在find的基礎(chǔ)上,我們可與(如xargs命令)等其它基本Linux命令相結(jié)合,即能創(chuàng)造出無(wú)限的命令行功能。

[[423532]]

 方法一:使用Find命令

本部分算是對(duì)find強(qiáng)大功能的擴(kuò)展使用方法說(shuō)明。在find的基礎(chǔ)上,我們可與(如xargs命令)等其它基本Linux命令相結(jié)合,即能創(chuàng)造出無(wú)限的命令行功能,比如:可以快速查找出Linux某個(gè)文件夾及其子文件夾中的重復(fù)文件列表。要實(shí)現(xiàn)這個(gè)功能在流程上是比較簡(jiǎn)單的,只要查找遍歷出所有文件,再通過(guò)命令去比較每個(gè)文件的MD5就OK啦。

聽(tīng)起來(lái)好像比較抽象,其實(shí)命令就一條: 

  1. find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate 
  •  find -not -empty -type f -printf “%sn” 表示使用find命令搜索出所有非空文件,再打印出他們的大小
  •  sort -rn 命令不用多說(shuō)了把,這條命令就是按文件大小進(jìn)行反向排序
  • uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 表示只打印了重復(fù)的行,這里使用代表打印出文件名相同的文件
  •  uniq -w32 –all-repeated=separate 最后這里表示對(duì)MD5的前32個(gè)字節(jié)進(jìn)行對(duì)比,以篩選出重復(fù)文件 使用命令行的整個(gè)過(guò)程就是這么簡(jiǎn)單和容易。

方法二:使用dupeGuru工具

DupeGuru是一個(gè)跨平臺(tái)應(yīng)用,有Linux、Windows和Mac OS X版本,它可以通過(guò)文件大小、MD5和文件名等多種標(biāo)準(zhǔn)來(lái)幫助用戶(hù)找出Linux中的重復(fù)文件。Ubuntu用戶(hù)可以直接通過(guò)添加如下PPA源來(lái)方式來(lái)進(jìn)行安裝: 

  1. sudo add-apt-repository ppa:hsoft/ppa  
  2. sudo apt-get update  
  3. sudo apt-get install dupeguru* 

方法三:使用Find命令解析

在工作生活當(dāng)中,我們很可能會(huì)遇到查找重復(fù)文件的問(wèn)題。比如從某游戲提取的游戲文本有重復(fù)的,我們希望找出所有重復(fù)的文本,讓翻譯只翻譯其中一份,而其他的直接替換。那么這個(gè)問(wèn)題該怎么做呢?當(dāng)然方法多種多樣,而且無(wú)論那種方法應(yīng)該都不會(huì)太難,但筆者第一次遇到這個(gè)問(wèn)題的時(shí)候第一反應(yīng)是是用Linux的Shell腳本,所以文本介紹這種方式。

先上代碼: 

  1. find -not -empty -type f -printf "%sn" | sort -rn |uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate | cut -b 36- 

大家先cd到自己想要查找重復(fù)文件的文件夾,然后copy上面代碼就可以了,系統(tǒng)會(huì)對(duì)當(dāng)前文件夾及子文件夾內(nèi)的所有文件進(jìn)行查重。

下面分析一下上面的命令。

首先看第一句: 

  1. find -not -empty -type f -printf "%sn" 

find是查找命令;-not -empty是要尋找非空文件;-type f是指尋找常規(guī)文件;-printf “%sn”比較具有迷惑性,這里的%s并非C語(yǔ)言中的輸出字符串,它實(shí)際表示的是文件的大小,單位為bytes(不懂就man,man一下find,就可以看到了),n是換行符。所以這句話的意思是輸出所有非空文件的大小。

通過(guò)管道,上面的結(jié)果被傳到第二句:

  1. sort -rn 

sort是排序,-n是指按大小排序,-r是指從大到小排序(逆序reverse)。

第三句: 

  1. uniq -d 

uniq是把重復(fù)的只輸出一次,而-d指只輸出重復(fù)的部分(如9出現(xiàn)了5次,那么就輸出1個(gè)9,而2只出現(xiàn)了1次,并非重復(fù)出現(xiàn)的數(shù)字,故不輸出)。

第四句: 

  1. xargs -I{} -n1 find -type f -size {}c -print0 

這一部分分兩部分看,第一部分是xargs -I{} -n1,xargs命令將之前的結(jié)果轉(zhuǎn)化為參數(shù),供后面的find調(diào)用,其中-I{}是指把參數(shù)寫(xiě)成{},而-n1是指將之前的結(jié)果一個(gè)一個(gè)輸入給下一個(gè)命令(-n8就是8個(gè)8個(gè)輸入給下一句,不寫(xiě)-n就是把之前的結(jié)果一股腦的給下一句)。后半部分是find -type f -size {}c -print0,find指令我們前面見(jiàn)過(guò),-size{}是指找出大小為{}bytes的文件,而-print0則是為了防止文件名里帶空格而寫(xiě)的參數(shù)。

第五句: 

  1. xargs -0 md5sum 

xargs我們之前說(shuō)過(guò),是將前面的結(jié)果轉(zhuǎn)化為輸入,那么這個(gè)-0又是什么意思?man一下xargs,我們看到-0表示讀取參數(shù)的時(shí)候以null為分隔符讀取,這也不難理解,畢竟null的二進(jìn)制表示就是00。后面的md5sum是指計(jì)算輸入的md5值。

第六句:sort是排序,這個(gè)我們前面也見(jiàn)過(guò)。

第七句: 

  1. uniq -w32 --all-repeated=separate 

uniq -w32是指尋找前32個(gè)字符相同的行,原因在于md5值一定是32位的,而后面的--all-repeated=separate是指將重復(fù)的部分放在一類(lèi),分類(lèi)輸出。

第八句: 

  1. cut -b 36- 

由于我們的結(jié)果帶著md5值,不是很好看,所以我們截取md5值后面的部分,cut是文本處理函數(shù),這里-b 36-是指只要每行36個(gè)字符之后的部分。

我們將上述每個(gè)命令用管道鏈接起來(lái),存入result.txt: 

  1. find -not -empty -type f -printf "%sn" | sort -rn |uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate | cut -b 36- >result.txt 

雖然結(jié)果很好看,但是有一個(gè)問(wèn)題,這是在Linux下很好看,實(shí)際上如果有朋友把輸出文件放到Windows上,就會(huì)發(fā)現(xiàn)換行全沒(méi)了,這是由于Linux下的換行是n,而windows要求nr,為了解決這個(gè)問(wèn)題,我們最后執(zhí)行一條指令,將n轉(zhuǎn)換為nr: 

  1. cat result.txt | cut -c 36- | tr -s 'n'  

 

責(zé)任編輯:龐桂玉 來(lái)源: 良許Linux
相關(guān)推薦

2010-03-03 13:45:08

Python查找重復(fù)文

2015-09-02 15:47:05

命令行fdupesLinux

2017-12-26 11:13:41

Linuxfind文件查找

2022-04-11 06:03:24

FdupesLinux命令行工具

2021-08-09 11:31:54

Linux重復(fù)相片刪除

2020-11-13 09:14:23

Linux重復(fù)文件命令行

2017-10-11 16:23:59

Linuxinode刪除文件

2019-07-03 11:16:51

Linux數(shù)據(jù)庫(kù)Line

2015-08-13 09:09:10

LinuxdupeGuru

2009-05-26 12:23:56

Linux變量文件命名

2017-01-12 19:22:19

Linuxlsof命令恢復(fù)刪除的文件

2016-12-07 17:45:44

Linux文件

2018-10-17 09:20:31

Linux命令重復(fù)文件

2010-05-07 15:40:18

ibmdwLinux

2009-06-26 08:35:48

Linux庫(kù)文件操作系統(tǒng)

2019-11-14 05:00:00

Linux文件磁盤(pán)空間

2018-04-28 09:12:42

Linux

2018-03-30 17:51:17

Linux命令查找文件

2022-05-25 08:41:48

Linuxfd 命令文件

2018-04-27 13:00:00

數(shù)據(jù)庫(kù)MySQL刪除重復(fù)行
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

写真片福利在线播放| 禁断一区二区三区在线| 亚洲精品乱码久久久久久日本蜜臀| 欧美中日韩免费视频| 牛牛影视久久网| 最近2019年日本中文免费字幕| 中文字幕伦理免费在线视频| 精品久久香蕉国产线看观看gif| 精品人妻少妇一区二区| 蜜臀av一区二区| 狠狠色噜噜狠狠色综合久 | 精品国产免费久久久久久尖叫| 亚洲美女久久| 欧美一级淫片丝袜脚交| 日韩一区二区三区在线看| 在线a欧美视频| 日韩精品免费观看视频| 一区二区三区高清国产| 韩国成人在线| 日韩中文娱乐网| 色8久久久久| 日日狠狠久久偷偷四色综合免费| 免费v片在线观看| 亚洲一品av免费观看| 视频精品导航| 久久精品国产96久久久香蕉| 日本免费精品| 久久久在线视频| 国产精品一区二区av交换| 国产精品久久9| 你懂的国产精品永久在线| 成人免费视频网站| 首页欧美精品中文字幕| 色爽爽爽爽爽爽爽爽| 成人av免费网站| 369你懂的电影天堂| 欧美丝袜第一区| 成人影院在线看| 伊人一区二区三区久久精品| 在线视频亚洲欧美中文| 日韩av电影院| 欧美激情亚洲| 亚洲国产精品久久久久久女王| 国产盗摄女厕一区二区三区| www黄色在线| 国产精品久久久久久亚洲伦| bdsm精品捆绑chinese| 欧美日韩在线第一页| 久久精品视频观看| 亚洲第一天堂无码专区| 日韩一区二区三免费高清在线观看| 久久久噜噜噜久久中文字免| 欧美一级本道电影免费专区| 国产伦精品一区二区三区视频免费| 亚洲欧美视频| 中文字幕乱码人妻综合二区三区| 亚洲一线二线三线久久久| 免费在线你懂的| 在线观看视频亚洲| 精品国产视频| 亚洲精品国产一区| av电影一区二区| 有色激情视频免费在线| 日韩免费性生活视频播放| 国产精品亚洲一区二区在线观看 | 久久色成人在线| 欧洲亚洲在线| 日韩在线欧美在线国产在线| 久久亚洲成人| 法国空姐在线观看免费| 亚洲美女在线国产| av在线视屏| 2019亚洲男人天堂| 老司机免费视频久久| 上原亚衣加勒比在线播放| 欧美日韩国产欧美日美国产精品| 成人短视频app| 亚洲一区制服诱惑| 91色在线porny| 免费成人黄色| 国产v综合ⅴ日韩v欧美大片| 麻豆91精品视频| 性感av在线播放| 久久精品视频在线观看| 亚洲国产二区| 高清一级毛片视频| 在线精品国产成人综合| 亚洲性人人天天夜夜摸| eeuss鲁片一区| 亚洲午夜未删减在线观看| 欧美亚洲不卡| 国产一级黄色电影| 中文字幕精品网| 亚洲在线日韩| 夜色资源站国产www在线视频| 久热爱精品视频线路一| 老司机一区二区| www.成人.com| 国产精品丝袜白浆摸在线| 国产亚洲制服色| 日韩免费va| 亚洲欧洲一区二区福利| 欧美日韩国产色站一区二区三区| 欧美男gay| 性欧美1819| 精品国产欧美一区二区三区成人| 视频一区中文字幕| 亚洲嫩模一区| 国产+人+亚洲| 国产成人精品综合在线观看 | 正在播放91九色| 在线看日韩精品电影| 一区二区导航| 黑人粗进入欧美aaaaa| 在线免费观看羞羞视频一区二区| 巨乳诱惑日韩免费av| 色影视在线观看| 91一区二区三区| 亚洲r级在线视频| 亚洲精品无吗| 99热在线免费| 九九视频这里只有精品| 91免费看片在线观看| 免费在线观看的电影网站| 国产高清一区二区三区| 精品高清一区二区三区| 国产一区二区三区四区大秀| av最新地址| 国产精品999999| 亚洲国产一区二区三区青草影视| 黄色成人美女网站| 男男互摸gay网站| 午夜精品视频网站| 亚洲婷婷综合久久一本伊一区| 成人午夜网址| 男女性激情视频在线观看| 国产精品久久久久av免费| 一区二区视频在线| 日韩一区二区在线| 国产福利小视频在线观看| 狠狠色综合色区| 日韩免费性生活视频播放| 国产一区二区伦理| 欧美黄页在线免费观看| 久久久久久香蕉| 日本一本a高清免费不卡| 亚洲大片免费看| 欧美日韩一区自拍| 日韩经典av| 国产原创popny丨九色| 欧美日韩成人网| 亚洲一区在线看| 日韩视频在线一区二区三区 | 丁香5月婷婷久久| 三上悠亚一区| 亚洲自拍偷拍区| 337p亚洲精品色噜噜狠狠| 麻豆视频观看网址久久| 日韩av懂色| 午夜丝袜av电影| 国产精品一区二区欧美| 亚洲第一色在线| 国产偷v国产偷v亚洲高清| 久久精品国产99久久| 秋霞a级毛片在线看| 亚洲爆乳无码精品aaa片蜜桃| 日韩视频免费看| 亚洲国产日韩精品| 久久婷婷麻豆| 电影一区中文字幕| 中文在线三区| 在线视频不卡一区二区| 欧美黄色性视频| 在线视频一区二区三| 国产一区啦啦啦在线观看| 伊人久久大香线蕉av超碰| 免费av在线电影| 日韩极品视频在线观看| 性欧美xxxx| 日韩限制级电影在线观看| 久久精品无码一区二区三区| 欧美日韩三级电影在线| 亚洲精品粉嫩美女一区| 传媒视频在线| 日本老太婆做爰视频| 国产精品jizz在线观看麻豆| 亚洲高清久久久久久| 亚洲视频1区2区| 久久精品国产久精国产爱| 国产成人精品亚洲线观看| 欧美69xxx| 男操女免费网站| 欧美一区1区三区3区公司 | 电影一区电影二区| 污香蕉视频在线观看| 一级黄色录像免费看| 国产精品偷伦免费视频观看的| 日韩精品有码在线观看| 婷婷夜色潮精品综合在线| 99麻豆久久久国产精品免费优播|