最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2013年02月26日 23:00:27   作者:  
這個(gè)腳本可以實(shí)現(xiàn)指定目錄下同名但不同后綴名的查找,可以拓展為刪除指定的文件的腳本,覺(jué)得很實(shí)用,分享一下

因?yàn)楹笈_(tái)錄入的同事,上傳文件的時(shí)候,給文件取了相同的名字,但不同的后綴名,由于文件路徑非常深,大概十層左右,每一層又有幾十個(gè)文件,所以人工找起來(lái)非常麻煩,所以寫(xiě)了個(gè)腳本,幫他們實(shí)現(xiàn)查找指定目錄下所有子目錄及文件,找出相同文件名,不同后綴的文件,然后,手動(dòng)保留其中一個(gè)。

復(fù)制代碼 代碼如下:

#!/bin/bash 
#判斷一下腳本參數(shù)的問(wèn)題 
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 
     #把文件名字取出來(lái),有同樣名字的就把名字放到/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:
The directory /tmp/.X11-unix including same name file:
The directory /tmp/gconfd-root including same name file:
The directory /tmp/gconfd-root/lock including same name file:
The directory /tmp/gpg-PIEU09 including same name file:
The directory /tmp/test including same name file:
/tmp/test/1.txt
/tmp/test/1.png
The directory /tmp/test/test1 including same name file:
/tmp/test/test1/11.jpg
/tmp/test/test1/11.log

查看記錄:

linux-8hij:/tmp # cat /tmp/samefile.txt
/tmp/test/1.txt /tmp/test/1.png
/tmp/test/test1/11.jpg /tmp/test/test1/11.log

通過(guò)這個(gè)腳本可以實(shí)現(xiàn)指定目錄下同名但不同后綴名的查找,可以拓展為刪除指定的文件的腳本,覺(jué)得很實(shí)用,分享一下

相關(guān)文章

  • Shell中整數(shù)計(jì)算的幾種方式

    Shell中整數(shù)計(jì)算的幾種方式

    今天小編就為大家分享一篇關(guān)于Shell中整數(shù)計(jì)算的幾種方式,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Shell alias給命令設(shè)置別名的實(shí)現(xiàn)方法

    Shell alias給命令設(shè)置別名的實(shí)現(xiàn)方法

    這篇文章主要介紹了Shell alias給命令設(shè)置別名的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 進(jìn)程狀態(tài)ps -ef中的e、f含義講解

    進(jìn)程狀態(tài)ps -ef中的e、f含義講解

    這篇文章主要介紹了進(jìn)程狀態(tài)ps -ef中的e、f含義講解,通過(guò)本文學(xué)習(xí)我們知道-e和-A都顯示有關(guān)其他用戶進(jìn)程的信息,包括那些沒(méi)有控制終端的進(jìn)程,-f顯示用戶id,進(jìn)程id,父進(jìn)程id,最近CPU使用情況,進(jìn)程開(kāi)始時(shí)間等等,具體含義及更多命令跟隨小編通過(guò)本文學(xué)習(xí)
    2022-11-11
  • shift妙用之解決shell編程中的入?yún)?wèn)題

    shift妙用之解決shell編程中的入?yún)?wèn)題

    shell編程經(jīng)常會(huì)遇到參數(shù)個(gè)數(shù)不定的這種情況,這種情況怎么處理呢?shift就要閃亮登場(chǎng)了
    2013-08-08
  • shell腳本中一些特殊符號(hào)

    shell腳本中一些特殊符號(hào)

    這篇文章主要介紹了shell腳本中一些特殊符號(hào),需要的朋友可以參考下
    2015-07-07
  • Linux shell編程中IO和條件及循環(huán)處理的細(xì)節(jié)問(wèn)題討論

    Linux shell編程中IO和條件及循環(huán)處理的細(xì)節(jié)問(wèn)題討論

    這篇文章主要介紹了Linux shell編程中IO和條件及循環(huán)處理的細(xì)節(jié)問(wèn)題討論,需要的朋友可以參考下
    2016-02-02
  • Linux中使用locate和find進(jìn)行不區(qū)分大小寫(xiě)的文件搜索

    Linux中使用locate和find進(jìn)行不區(qū)分大小寫(xiě)的文件搜索

    在日常使用計(jì)算機(jī)的過(guò)程中,尤其是處理大量文件時(shí),快速找到特定文件變得尤為重要,Linux系統(tǒng)提供了許多命令行工具,其中“l(fā)ocate”和“find”是兩個(gè)常用的文件搜索工具,本文給大家介紹了如何在Linux中使用locate和find進(jìn)行不區(qū)分大小寫(xiě)的文件搜索
    2024-05-05
  • 詳解kali linux 常用文件與指令路徑

    詳解kali linux 常用文件與指令路徑

    這篇文章主要介紹了kali linux 常用文件與指令路徑,文中給大家介紹了Linux下MySQL忘記root密碼的完美解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-07
  • shell sed命令的具體使用

    shell sed命令的具體使用

    本文主要介紹了shell sed命令的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 一天一個(gè)shell命令 linux文本操作系列-tac,rev命令詳解

    一天一個(gè)shell命令 linux文本操作系列-tac,rev命令詳解

    這篇文章主要介紹了一天一個(gè)shell命令 linux文本操作系列-tac,rev命令詳解,需要的朋友可以參考下
    2016-06-06

最新評(píng)論

巴马| 肃宁县| 沭阳县| 宜州市| 南召县| 武邑县| 黄平县| 淄博市| 冕宁县| 望都县| 西峡县| 黄平县| 三都| 托克托县| 福泉市| 印江| 盘锦市| 莲花县| 雷州市| 固原市| 景德镇市| 保靖县| 新源县| 诸城市| 仙桃市| 大渡口区| 永宁县| 营口市| 河曲县| 河津市| 珲春市| 九江市| 武宁县| 潜江市| 高安市| 富锦市| 大同县| 尖扎县| 资中县| 庆云县| 顺平县|