当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 关于删除多余文件问题
帖子发表于 : 2010-05-26 10:41 

注册: 2009-11-12 20:27
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
:em01
从网上下载了很多桌面壁纸,但是有些是重复的,只是分辨率不同而已,其中这种差异已反应到文件名上,如:
abc_800x600.jpg
abc_1024x768.jpg
ccc_800x600.jpg
ccc_1024x768.jpg
ccc_1280x768.jpg

我想只保留一份文件,将多余分辨率的图片全部删除,试问有没有简单的命令可以处理?如果非要写脚本的话又怎么写呢?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 11:23 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
geeqie


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 11:27 
头像

注册: 2008-03-25 15:49
帖子: 25878
地址: 谁知道?
送出感谢: 8
接收感谢: 10
mv *1024x768* ooxx
:em06


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 11:32 

注册: 2009-11-12 20:27
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
是删除,不是修改。
同时分辨率大小的是不固定的,不是每张图片都有1024*768大小的。
如果用脚本的话,恐怕要双重循环。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 11:38 
头像

注册: 2008-03-25 15:49
帖子: 25878
地址: 谁知道?
送出感谢: 8
接收感谢: 10
再rm 其余的不就行了么


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 15:06 

注册: 2008-09-25 16:06
帖子: 100
送出感谢: 0 次
接收感谢: 0 次
代码:
find path ! -name '*1024x768.jpg' -exec rm -f {} \;

path为指定的查找路径


_________________
Power cloaked in simplicity !


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 15:26 

注册: 2009-11-12 20:27
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
都说不是全都有1024*768大小的咯,比如:
abc_1024*768.jpg
abc_1280*768.jpg
ddd_800*600.jpg
eee_1440*900.jpg
ffa_800*600.jpg
ffa_1280*700.jpg
....
...
....


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 15:30 

注册: 2009-11-12 20:27
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/bin/bash
#program: remove duplicate pictures which have excess display rate.
#version: 1.0
#by DD++ 2010-5-24

read -p "Please input the picture directory,like this \"/home/usr/picture\": " dir
while [ -z "$dir" ] || [ ! -d "$dir" ]
do
   echo "The $dir is NOT exist in Linux system!"
   read -p "Please try again: " dir
done

filelist=$(ls $dir)
while [ -n "$filelist" ]
do
   declare -i count=1   
   filename=$(echo $filelist | cut -d " " -f 1)
   filelist2=$(echo $filelist | cut -d " " -f 2-)
   [ "$filelist" == "$filelist2" ] && break   #如果文件列表只有一个时,不管cut -f 后取什么都会返回这个文件,所以必须加这句
   for filename2 in $filelist2
   do
      if [ $(echo $filename | cut -d "_" -f 1) == $(echo $filename2 | cut -d "_" -f 1) ]; then
         rm -v "$dir/$filename2"
         count=$(($count+1))
      else
         filelist=$(echo $filelist2 | cut -d " " -f ${count}-)
         break    
      fi   
   done   
done

echo "Well done, goodbye!"


这是我写的程序,用双重循环做的,但总觉得效率好低,也难看,不知还有什么好方法?


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 15:33 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
这么傻。说了软件,你不用。
:em04


_________________
● 鸣学


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 15:36 

注册: 2009-11-12 20:27
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
用软件就显得聪明了吗?


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 15:37 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
因为你不明白图片的比较,是个什么事情。
所以,反正你没显得出。


_________________
● 鸣学


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 15:40 

注册: 2009-11-12 20:27
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
那好吧,我非要代码,不要软件总行了吧


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-26 15:44 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
你咋就不愿意试试先呢。
那么多种比较,找重复的。
:em04


_________________
● 鸣学


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-29 23:45 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
不需要双重循环。
循环一次应该可以搞定,思路是这样:把 abc_800x600.jpg 这样的文件名改为 abc.jpg,在改名时如果已经存在 abc.jpg,就用你的条件判断一下是保留原来的 abc.jpg,还是覆盖,如果保留,就把正在处理的 abc_800x600.jpg 这样的文件删除。


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 关于删除多余文件问题
帖子发表于 : 2010-05-31 22:42 

注册: 2009-11-12 20:27
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
:em11 :em11 楼上的好主意,不知哪个效率会更高点,哈哈


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译