怎么吧md5一样的文件全部做成符号连接
- ttand
- 帖子: 1745
- 注册时间: 2005-08-22 14:05
- 来自: 离开北京
怎么吧md5一样的文件全部做成符号连接
某些图标主题 同样的文件很多,
我想 把一样的文件都只留一个 其余的都做成连接
find -type f -exec md5sum {} +|sort
这样可以按md5 hash 分组
后面是否一定要用条件和循环结构
我想 把一样的文件都只留一个 其余的都做成连接
find -type f -exec md5sum {} +|sort
这样可以按md5 hash 分组
后面是否一定要用条件和循环结构
上次由 ttand 在 2008-05-05 13:04,总共编辑 1 次。
错过好多好贴,没占到广告位后悔啊
- yaoms
- 帖子: 4952
- 注册时间: 2007-10-19 14:51
- 来自: 深圳
-
- 帖子: 1074
- 注册时间: 2006-01-18 15:01
- ttand
- 帖子: 1745
- 注册时间: 2005-08-22 14:05
- 来自: 离开北京
- laborer
- 帖子: 1016
- 注册时间: 2005-10-25 11:15
- 联系:
给你一个思路
不过想要做到比较完备,比如支持目录,支持带空格的文件名等等,还是需要不少考虑的。
代码: 全选
find -maxdepth 1 -type f -exec md5sum {} \; |
awk '{ if (A[$1]) system("echo ln -sf "A[$1]" "$2); else A[$1]=$2 }'
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
-
- 帖子: 1074
- 注册时间: 2006-01-18 15:01
- ttand
- 帖子: 1745
- 注册时间: 2005-08-22 14:05
- 来自: 离开北京
-
- 帖子: 1074
- 注册时间: 2006-01-18 15:01
我错了
试试这个吧
试试这个吧
代码: 全选
#!/usr/bin/bash
file=($(ls))
for((i = 0; i < ${#file[@]}; i++))
do
if ! [ -h "${file[$i]}" ]
then
for((j = $i + 1; j < ${#file[@]}; j++))
do
if ! [ -h "${file[$j]}" ]
then
if diff ${file[$i]} ${file[$j]} >/dev/null
then
ln -sf ${file[$i]} ${file[$j]}
fi
fi
done
fi
done