#!/bin/bash
function ize
{
IFS=`echo ""` #csak ujsor..
md='-1'
nev=''
while read sor
do
oldmd="${md}"
oldnev="${nev}"
md=`echo $sor|cut -b 1-32`
nev=`echo $sor|cut -b 35-`
if [ "x${md}" == "x${oldmd}" ]
then
if cmp -s "${nev}" "${oldnev}" && ! cmp -s /tmp/emptyfile "${oldnev}"
then
echo rm "${oldnev}" >>dedupl.log
echo ln "${nev}" "${oldnev}" >>dedupl.log
rm "${oldnev}"
ln "${nev}" "${oldnev}"
fi
fi
done
}
echo -n >/tmp/emptyfile
echo -n >dedupl.log
#find . -type f|xargs -d "\n" -n 1 md5sum | sort | ize
find . -type f|xargs -d "\n" -n 1 md5sum |tee md5sums.txt| sort | ize
- Nyosigomboc blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
Okosság. Valahogy virtuális gépek között kéne összekombózni. Ja van egy ilyen is, módosításnál copy-on-write legyen: http://unix.freshmeat.net/projects/fl-cow
---
Internet Memetikai Tanszék
- A hozzászóláshoz be kell jelentkezni
Vagy ilyen.
--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!
- A hozzászóláshoz be kell jelentkezni
man uniq
uniq -d
vagy még inkább
uniq -D -z -w 16
és
sort -z
ha tudják a parancsok a fenti kapcsolókat.
(ize helyett, aztán elágazhatsz)
a findnak meg -print0 vagy fprint0, xargs helyett/mellett talán aw, főleg ha vannak jó kis locale charset fájlok, meg kettősponty, dollárjel, sóköz, stb...
ami át van húzva, azt teljesen fölösleges elolvasni. az olyan, mintha ott sem lenne
- A hozzászóláshoz be kell jelentkezni