国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

查找目錄下同名但不同后綴名文件的shell腳本代碼

2019-10-26 18:36:21
字體:
供稿:網(wǎng)友

因?yàn)楹笈_(tái)錄入的同事,上傳文件的時(shí)候,給文件取了相同的名字,但不同的后綴名,由于文件路徑非常深,大概十層左右,每一層又有幾十個(gè)文件,所以人工找起來非常麻煩,所以寫了個(gè)腳本,幫他們實(shí)現(xiàn)查找指定目錄下所有子目錄及文件,找出相同文件名,不同后綴的文件,然后,手動(dòng)保留其中一個(gè)。
代碼如下:
#!/bin/bash 
#判斷一下腳本參數(shù)的問題 
if [ $# -ne 1 ];then 
   echo "Usage find_same.sh direcroty" 
   exit 
fi 
find $1 -type d > /tmp/dir.txt 
#將所有需要查詢的目錄本身和子目錄的名字存儲(chǔ)在一個(gè)臨時(shí)文件里 
#對(duì)每個(gè)目錄進(jìn)行比較查詢 
while read dir 
do 
     find $dir -maxdepth 1 -type f > /tmp/file.txt 
     #將當(dāng)前目錄下的所有文件存儲(chǔ)在臨時(shí)文件里 
     awk -F '/' '{print $NF}' /tmp/file.txt | awk -F '[.]' '{print $1}'| sort | uniq -d > /tmp/filename.txt 
     #把文件名字取出來,有同樣名字的就把名字放到/tmp/filename.txt里 
     line=`wc -l /tmp/filename.txt | awk '{print $1}'` 
     #判斷一下該文件里一共有多少行,每一行就是一個(gè)重名的文件名 
     #輸出 
     echo "The directory $dir including same name file: " 
     if [ $line -ge 1 ] ; then 
        while read name 
        do 
        filename=`grep $name /tmp/file.txt` 
                echo "$filename" 
                echo $filename >> /tmp/samefile.txt 
                #所有的記錄存放在這個(gè)文件里 
        done < /tmp/filename.txt 
      fi 
done < /tmp/dir.txt

模擬測(cè)試:

linux-8hij:/tmp/test # ll
total 4
-rw-r--r-- 1 root root    0 Mar  9 02:04 1.png
-rw-r--r-- 1 root root    0 Mar  9 02:04 1.txt
drwxr-xr-x 2 root root 4096 Mar  9 02:05 test1
linux-8hij:/tmp/test/test1 # ll
total 0
-rw-r--r-- 1 root root 0 Mar  9 02:05 11.jpg
-rw-r--r-- 1 root root 0 Mar  9 02:05 11.log
-rw-r--r-- 1 root root 0 Mar  9 02:05 2.log

運(yùn)行結(jié)果:

linux-8hij:/tmp # ./find_name.sh /tmp
The directory /tmp including same name file:
The directory /tmp/.ICE-unix including same name file:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴安县| 上林县| 长寿区| 内黄县| 射洪县| 大方县| 桃源县| 高台县| 新闻| 滦南县| 阳谷县| 佛冈县| 津市市| 广水市| 汉川市| 光泽县| 浏阳市| 原平市| 隆尧县| 久治县| 资溪县| 桃园县| 永安市| 晴隆县| 岳池县| 横山县| SHOW| 邮箱| 色达县| 广宁县| 石首市| 黄石市| 濮阳县| 肇东市| 行唐县| 崇礼县| 穆棱市| 眉山市| 通化县| 青阳县| 寿光市|