因为后台录入的同事,上传文件的时候,给文件取了相同的名字,但不同的后缀名,由于文件路径非常深,大概十层左右,每一层又有几十个文件,所以人工找起来非常麻烦,所以写了个脚本,帮他们实现查找指定目录下所有子目录及文件,找出相同文件名,不同后缀的文件,然后,手动保留其中一个。
复制代码 代码如下:
#!/bin/bash
#判断一下脚本参数的问题
if [ $# -ne 1 ];then
echo "Usage find_same.sh direcroty"
exit
fi
find $1 -type d > /tmp/dir.txt
#将所有需要查询的目录本身和子目录的名字存储在一个临时文件里
#对每个目录进行比较查询
while read dir
do
find $dir -maxdepth 1 -type f > /tmp/file.txt
#将当前目录下的所有文件存储在临时文件里
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}'`
#判断一下该文件里一共有多少行,每一行就是一个重名的文件名
#输出
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
#所有的记录存放在这个文件里
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
运行结果:
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
通过这个脚本可以实现指定目录下同名但不同后缀名的查找,可以拓展为删除指定的文件的脚本,觉得很实用,分享一下
同名,不同后缀名
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 刘欢《雨中的树(新歌加精选)2CD》德国HD24K金碟[WAV+CUE]
- 郑源 《世间情歌》6N纯银SQCD[WAV+CUE][1G]
- 群星《粤潮2HQII》头版限量编号[低速原抓WAV+CUE][991M]
- 群星《2023好听新歌21》十倍音质 U盘音乐[WAV分轨][1G]
- 《热血传奇》双11感恩回馈 超值狂欢30天
- 原神5.2版本活动汇总 5.2版本活动有哪些
- 张敬轩.2010-NO.ELEVEN【环球】【WAV+CUE】
- 黄丽玲.2006-失恋无罪【艾回】【WAV+CUE】
- 阿达娃.2024-Laluna【W8VES】【FLAC分轨】
- 宝可梦大集结段位等级划分表大全 大集结段位一览
- 龙腾世纪影障守护者工坊与装备如何升级 工坊与装备升级说明
- 龙腾世纪影障守护者全成就攻略分享 龙腾世纪4全成就列表一览
- 《剑星》更新四套全新战衣!
- 卡普空老将伊津野英昭宣布入职腾讯光子 开发3A动作
- 38岁梅根·福克斯官宣怀孕:将迎来第四个孩子