On kaks kataloogi.
Kataloogides olevatel failidel on nime algused samasugused kuni 11-nda sümbolini (faili nimes on kirjas aasta, kuu, päev, tund ja minut kahekohalisena, st AAKKPPHHMM; faili alguses on alati täht m).
Näide:
Kataloog 1:
otikas/m120909091045997.jpg
otikas/m120909094046452.jpg
otikas/m120909111049306.jpg
otikas/m120909113050994.jpg
otikas/m120909115050550.jpg
otikas/m120909131051687.jpg
otikas/m120909133053742.jpg
otikas/m120909135054495.jpg
otikas/m120909141054932.jpg
otikas/m120909144056032.jpg
otikas/m120910091054180.jpg
otikas/m120910094055574.jpg
otikas/m120910111044552.jpg
otikas/m120910113004343.jpg
otikas/m120910115035561.jpg
otikas/m120910131003300.jpg
otikas/m120910133004039.jpg
otikas/m120910135035601.jpg
otikas/m120910141016251.jpg
otikas/m120910144015781.jpg
otikas/m120911091020121.jpg
otikas/m120911094021139.jpg
otikas/m120911111039615.jpg
otikas/m120911113043698.jpg
otikas/m120911115041062.jpg
otikas/m120911131054961.jpg
otikas/m120911133038278.jpg
otikas/m120911135056575.jpg
otikas/m120911141003003.jpg
otikas/m120911144036991.jpg
otikas/m120912094004146.jpg
otikas/m120912111021731.jpg
otikas/m120912113025905.jpg
otikas/m120912115001391.jpg
otikas/m120912131053820.jpg
otikas/m120912133011235.jpg
otikas/m120912135030520.jpg
otikas/m120912141009549.jpg
Kataloog 2:
lehtma/m120909091001952.jpg
lehtma/m120909094006032.jpg
lehtma/m120909111010675.jpg
lehtma/m120909113011362.jpg
lehtma/m120909115012501.jpg
lehtma/m120909131015442.jpg
lehtma/m120909133013665.jpg
lehtma/m120909135017062.jpg
lehtma/m120909141015486.jpg
lehtma/m120909144019875.jpg
lehtma/m120910091018901.jpg
lehtma/m120910094023579.jpg
lehtma/m120910111053154.jpg
lehtma/m120910113053950.jpg
lehtma/m120910115009938.jpg
lehtma/m120910131008201.jpg
lehtma/m120910133008615.jpg
lehtma/m120910135016030.jpg
lehtma/m120910141019929.jpg
lehtma/m120910144019099.jpg
lehtma/m120911091017165.jpg
lehtma/m120911094019100.jpg
lehtma/m120911111024499.jpg
lehtma/m120911113022271.jpg
lehtma/m120911115024058.jpg
lehtma/m120911131026676.jpg
lehtma/m120911133027348.jpg
lehtma/m120911135027262.jpg
lehtma/m120911141026929.jpg
lehtma/m120911144040743.jpg
lehtma/m120912091032217.jpg
lehtma/m120912094023252.jpg
lehtma/m120912111040858.jpg
lehtma/m120912113027225.jpg
lehtma/m120912115016960.jpg
lehtma/m120912133035760.jpg
lehtma/m120912141056025.jpg
lehtma/m120912144054546.jpg
Vaja on leida kummaski kataloogis failid, mis on tehtud samal ajal. Selleks tuleb võrrelda, et faili nimes esimesed 11 sümbolit oleksid identsed. Juhul, kui leitakse identselt algavad failid, siis neid faile on vaja säilitada. Kui aga teisest kataloogist samal ajal tehtud faili ei leita (st kui pole samuti algavat faili), siis selline fail tuleks kustutada. Failide nimede lõpud on muutuvad, neile pole aga vaja ka tähelepanu pöörata.
Kas keegi oskas anda head nõu, kuidas näiteks find ja rm abil asi ära teha?
Vabalt võib muidugi teha ka find ja cp abil (st ei kui leitakse identsed failid, siis need kopeeritakse kusile kolmandasse kohta. Igal juhul on aga tähtis, et failid JÄÄKS ERINEVATESSE KATALOOGIDESSE ka peale vajalikke manipulatsioone.
Kataloogide võrdlemine ja failide kustutamine
Moderaator: Moderaatorid
See skript siin leiab duplikaadid (kuid ei kustuta)...
https://wiki.itcollege.ee/index.php/Skr ... aat_failid
https://wiki.itcollege.ee/index.php/Skr ... aat_failid
Konks on selles, et DUPLIKAATE pole. Failid EI OLE identsed, vaid failide nimed algavad samamoodi. Failide nimed koosnevad 16-st sümbolist, millest esimesed 11 on kindlas, aga viimased viis on mingid juhuslikult genereeritud numbrid. Ja need viimased viis ei huvita, huvitavad ainult esimesed 11 sümbolit. Kusjuures, vaja on just ALLES HOIDA need failid, milledel nimede algused eri kataloogides kattuvad. Ja kustutada tuleb need, mille teises kataloogis samamoodi algava nimega faili ei eksisteeri. Ja mul ei ole vaja üldse võrrelda MD5 summat - sest failid ei ole igal juhul duplikaadid, see on niikuinii kindel.
Ma ei saa aluseks võtta ka faili loomise täpset ajahetke, sest sekundipealt samal ajal nad tehtud ei ole.
Need on kahe kaameraga eri nurkade alt tehtud ühe ja sama objekti pildid. Kaamerad töötasid sünkroonis, aga üks kaamera oli teatud aja rikkis ja nüüd tuleks kustutada selle ajavahemiku pildid, mil rikkis kaamera pilte ei teinud...
Ma ei saa aluseks võtta ka faili loomise täpset ajahetke, sest sekundipealt samal ajal nad tehtud ei ole.
Need on kahe kaameraga eri nurkade alt tehtud ühe ja sama objekti pildid. Kaamerad töötasid sünkroonis, aga üks kaamera oli teatud aja rikkis ja nüüd tuleks kustutada selle ajavahemiku pildid, mil rikkis kaamera pilte ei teinud...
Sama nimega leiab umbes nii:
sinna lõppu võid veel lisada |grep "1" või |grep -v "1", siis näidatakse kas ainult erinimelisi või ainult samanimelisi.Sealt saad ehk miskit edasi arendada, hetkel pole omal suuremaks testimiseks aega.
Kood: Vali kõik
find /kaust1/ kaust2/ -type f -printf "%f\n"|sort -d|uniq -c-
AndresKaju
- Uus kasutaja

- Postitusi: 10
- Liitunud: 04.07.2007, 22:07
Sihuke skript
<---
for file in `ls otikas` ; do
ls lehtma/${file:0:11}*.jpg >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then
echo "fail otikas/$file on, lehtma/$file puudub"
rm otikas/$file
fi
done
for file in `ls lehtma` ; do
ls otikas/${file:0:11}*.jpg >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then
echo "fail lehtma/$file on, otikas/$file puudub"
rm lehtma/$file
fi
done
<---
Proovi alguses ilma rm-ta
<---
for file in `ls otikas` ; do
ls lehtma/${file:0:11}*.jpg >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then
echo "fail otikas/$file on, lehtma/$file puudub"
rm otikas/$file
fi
done
for file in `ls lehtma` ; do
ls otikas/${file:0:11}*.jpg >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then
echo "fail lehtma/$file on, otikas/$file puudub"
rm lehtma/$file
fi
done
<---
Proovi alguses ilma rm-ta
Sihuke skript sobis peaaegu. Selle vahega, etAndresKaju kirjutas:Sihuke skript
<---
for file in `ls otikas` ; do
ls lehtma/${file:0:11}*.jpg >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then
echo "fail otikas/$file on, lehtma/$file puudub"
rm otikas/$file
fi
done
--->
ls lehtma/${file:0:10}*.jpg
sest 0-st kuni 10-ni on kokku 11
Tänud. Teema võib lugeda lõpetatuks.

