Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
tarmok
Uus kasutaja
Uus kasutaja



Liitunud: 08.02.2007
Postitused: 10


estonia.gif
postituspostitatud: 06.06.2013, 12:17  postituse pealkiri:  Kataloogide võrdlemine ja failide kustutamine  

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.


laurik
Pingviini kasutaja
Pingviini kasutaja



Liitunud: 20.12.2008
Postitused: 68
Asukoht: Pärnumaa
Distributsioon: Estobuntu
estonia.gif
postituspostitatud: 06.06.2013, 15:53  postituse pealkiri:  (teema puudub)  

See skript siin leiab duplikaadid (kuid ei kustuta)...
https://wiki.itcollege.ee/index.php/Skript_leiab_dublikaat_failid


tarmok
Uus kasutaja
Uus kasutaja



Liitunud: 08.02.2007
Postitused: 10


estonia.gif
postituspostitatud: 06.06.2013, 16:11  postituse pealkiri:  (teema puudub)  

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...


obundra
Vana Pingviin
Vana Pingviin


Vanus: 49
Liitunud: 04.08.2005
Postitused: 1213
Asukoht: 127.0.0.1
Distributsioon: RHEL, Solaris, Debian, Gentoo
estonia.gif
postituspostitatud: 06.06.2013, 17:10  postituse pealkiri:  (teema puudub)  

Sama nimega leiab umbes nii:
Kood:
find /kaust1/ kaust2/ -type f -printf "%f\n"|sort -d|uniq -c

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.

_________________
IT teenused

AndresKaju
Uus kasutaja
Uus kasutaja



Liitunud: 04.07.2007
Postitused: 10
Asukoht: Tallinn
Distributsioon: Ubuntu/Debian
estonia.gif
postituspostitatud: 06.06.2013, 17:31  postituse pealkiri:  (teema puudub)  

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


tarmok
Uus kasutaja
Uus kasutaja



Liitunud: 08.02.2007
Postitused: 10


estonia.gif
postituspostitatud: 07.06.2013, 16:41  postituse pealkiri:  (teema puudub)  

AndresKaju 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
--->


Sihuke skript sobis peaaegu. Selle vahega, et

ls lehtma/${file:0:10}*.jpg

sest 0-st kuni 10-ni on kokku 11 Smile. Ja mul oli vaja võrrelda esimest 11 sümbolit.

Tänud. Teema võib lugeda lõpetatuks.


Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group