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

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

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

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

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

#!/bin/bash 
#判斷一下腳本參數(shù)的問題 
if [ $# -ne 1 ];then 
   echo "Usage find_same.sh direcroty" 
   exit 
fi 
find $1 -type d > /tmp/dir.txt 
#將所有需要查詢的目錄本身和子目錄的名字存儲在一個(gè)臨時(shí)文件里 
#對每個(gè)目錄進(jìn)行比較查詢 
while read dir 
do 
     find $dir -maxdepth 1 -type f > /tmp/file.txt 
     #將當(dāng)前目錄下的所有文件存儲在臨時(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

模擬測試:

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

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

相關(guān)文章

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

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

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

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

    這篇文章主要介紹了Shell alias給命令設(shè)置別名的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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含義講解,通過本文學(xué)習(xí)我們知道-e和-A都顯示有關(guān)其他用戶進(jìn)程的信息,包括那些沒有控制終端的進(jìn)程,-f顯示用戶id,進(jìn)程id,父進(jìn)程id,最近CPU使用情況,進(jìn)程開始時(shí)間等等,具體含義及更多命令跟隨小編通過本文學(xué)習(xí)
    2022-11-11
  • shift妙用之解決shell編程中的入?yún)栴}

    shift妙用之解決shell編程中的入?yún)栴}

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

    shell腳本中一些特殊符號

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

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

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

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

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

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

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

    shell sed命令的具體使用

    本文主要介紹了shell sed命令的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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

最新評論

阿合奇县| 合江县| 桂阳县| 长丰县| 济阳县| 桑植县| 乐平市| 宁南县| 平武县| 平武县| 吉安县| 奉贤区| 镇安县| 宜兴市| 犍为县| 泰兴市| 曲周县| 额敏县| 基隆市| 绥阳县| 郧西县| 司法| 精河县| 民乐县| 汤阴县| 喀喇沁旗| 黎城县| 景德镇市| 甘孜| 遂平县| 监利县| 望江县| 新竹市| 米林县| 阳东县| 鄯善县| 永修县| 乌拉特前旗| 磐安县| 交口县| 永和县|