Sziasztok.
Egy olyan kérdésem lenne, hogy van-e valami alkalmazás Debianban amivel képeket átlehetne automatice másolni egy erre kijelölt könyvtárba, az összes vincsiről?
Azt meg még nem is tudom mi legyen azokkal a képekkel amiknek ugyanaz a neve de a tartalma más?
Ha csak scriptel oldható meg, sajnos a programozáshoz nem igazán értek :(
Csak BASIC nyelven tudtam valaha programozni.
Köszönöm a választ előre is!
- 2217 megtekintés
Hozzászólások
Szerintem az mc keresoje jo lesz erre a celra, az atnevezest is megoldhatod mikor felmerul a problema.
Nem vagyok biztos abban, hogy mit ertesz "automatice" alatt, az mc-vel valoszinuleg nem megoldhato, ahhoz mar find + cron + scripteles kell (ami nem igazan programozas).
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Az automatizálás alatt azt értem, hogy "magától" csinálja meg, mert én nem értek hozzá :D
Valami hasonlóra gondoltam mint ahogy a a Shotwell végigkeresi a képeket.
Köszi az mc-ről a tanácsot!
Igaz használom már vagy tizenéve, de még nem kerestettem vele :)
Kipróbálom.
- A hozzászóláshoz be kell jelentkezni
A Shotwell-t is el kell inditani kezzel, az sem "magatol" fogja megkeresni a kepeket, az mc-vel ugyanez a helyzet :)
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Ez csak kiindulási ötlet pld.:
locate *.jpg >> kepek_path.txt
locate *.jpeg >> kepek_path.txt
locate *.png >> kepek_path.txt
majd egy scriptben:
while do -val végig menni a kepek_path.txt sorjain és elvégezni a másolást.
- A hozzászóláshoz be kell jelentkezni
Kéne egy kis segítség!
Eddig jutottam:
locate *.jpg >> kepek_path.lst
locate *.jpeg >> kepek_path.lst
locate *.png >> kepek_path.lst
... + amilyen kép formatumok kellenek
és
cp $( < kepek_path.lst) /ahova/másolnám/mappa
csak az a baj , hogy ha már létezik pld.: 22.jpg akkor a másik mappában lévő 22.jpg-t már nem másolja át vagy felülírná -f. Van vmi parancs amivel a .lst-ben rendezni lehetne és átnevezni ha már van 2 ugyan olyan nevű jpg ?
- A hozzászóláshoz be kell jelentkezni
man cp
(bővebben: backup)
- A hozzászóláshoz be kell jelentkezni
Kösz,
addig okés is ameddig csak egy azonos nevű van.
cp --backup --suffix=".masik" $(< kepek_path.lst) kepek
Na mindegy, ma is tanultunk.
- A hozzászóláshoz be kell jelentkezni
Illetve az fslint nevű GUI-s progi name clashes része is jó lehet, ha ezeket _előre_ szeretnéd felderíteni.
- A hozzászóláshoz be kell jelentkezni
Van egy rejtett csapda is, ha eleve úgy néz ki egy kép neve, mint amire korábban átneveztünk egy duplikáltat. Vagy inkrementált, vagy konkatenált (mint itt, mert könnyebb) taggel lehet védekezni a duplikáció megszüntének detektálásáig.
$ cat kepek_path.lst
/ez/egy/ut/elso.jpg
/ez/egy/ut/masodik.jpg
/ez/egy/ut/masodik.png
/ez/egy/masik/ut/elso.jpg
/ez/egy/harmadik/ut/elso.jpg
/ez/egy/negyedik/ut/elso_.jpg
$ awk -F'\/' '{
src = $0
tgt = $NF
while ( tgt in a) {
sub( /\.[^.]+$/, "_&", tgt)
}
a[tgt]
if (tgt != $NF) {
printf "mv \"%s\" \"/mit/tom/en/hova/%s\"\n", $0, tgt > "kivetelek.sh"
} else {
print
}
}' kepek_path.lst
awk: warning: escape sequence `\/' treated as plain `/'
/ez/egy/ut/elso.jpg
/ez/egy/ut/masodik.jpg
/ez/egy/ut/masodik.png
$ cat kivetelek.sh
mv "/ez/egy/masik/ut/elso.jpg" "/mit/tom/en/hova/elso_.jpg"
mv "/ez/egy/harmadik/ut/elso.jpg" "/mit/tom/en/hova/elso__.jpg"
mv "/ez/egy/negyedik/ut/elso_.jpg" "/mit/tom/en/hova/elso___.jpg"
Az ilyen átnevezős játékok (főleg, ha még a könyvtárstruktúrán is matatni kell) jó példái annak, hogyan lehet gyors, frappáns és hibás megoldásokat találni.
- A hozzászóláshoz be kell jelentkezni
find / -name "*.jpg" >>./jpg_kepek.txt
find / -name "*.gif" >>./gif_kepek.txt
find / -name "*.png" >>./png_kepek.txt
Aztán 'replace' -val beszúrni a sorok elé egy 'cp' -t , meg a végére azt, ahova másolni akarod.
Adni neki futtatási jogot ('chmod 777 ./jpg_kepek.txt') ....
Aztán 'sh ./jpg_kepek.txt' .....
- A hozzászóláshoz be kell jelentkezni
Lefogadom, hogy *.JPG is van (nagybetus).
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Ezen a -name -iname-re (ha már gnu find; súlyosabb esetben akár -iregexre) cserélésével lehet segíteni.
Viszont arra, hogy többször kergetjük végig a findot mindenen, Matula bácsi azt dörmögné, hogy "maga tuggya..., én azé a -o opciót használom, me' azt szoktam meg."
find /itt /ott /amott -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' -o -iname '*.gif' |
awk -F'\.' '{
ext=tolower($NF)
if (ext == "jpeg") ext="jpg"
print > (ext ".lst")
}'
- A hozzászóláshoz be kell jelentkezni
Úgy rémlik, mintha a Picasa-nak is és a Kphotoalbumnak (vagy egy másik, hasonló nevű alkalmazásnak) lenne ilyen funkciója is.
Úgy rémlik, hogy a picasa mindent mindenképp egy helyre másol, a másik esetében meg úgy emlékszem, opcionális.
- A hozzászóláshoz be kell jelentkezni
Csak feltételezés.
A kedvenc fájlkezelődben a / könyvtárban állva rákeresel a jpg kiterjesztésű fájlokra, rekurzívan.
(Egy jobb fájlkezelő képes egyszerre jpg-re, png-re ... is keresni.)
A keresés végeztével a találati listában kijelölöd az összes fájlt, és átmásolod egy könyvtárba.
A fájlkezelő azonos fájlnév esetén megkérdezi, hogy felülírást/átnevezést/semmit akarsz, és felajánlja, hogy az összes fájlnév-ütközés esetén a választásodnak megfelelően cselekszik.
GUI-n elméletben ennyi lenne.
:)
- A hozzászóláshoz be kell jelentkezni
Azt hiszem számomra ez lesz a legegyszerűbb :)
- A hozzászóláshoz be kell jelentkezni