Skenari: kopjoni imazhe të reja nga SD në PC

Ndonjëherë ne kemi nevojë për të kryer detyra të përsëritura në PC tonë, të cilat me kalimin e kohës bëhen të lodhshme. Në raste të caktuara, ne mund ta lehtësojmë punën tonë duke përdorur skenarë që funksionojnë për ne.

Sot po shkruaj për t'ju treguar një skenar bash që zgjidhi një nevojë: kopjoni imazhe të reja nga aparati im dixhital nga një kartë SD në PC.

Situata:

Sa herë që kisha imazhe të reja për të shkarkuar në kompjuterin tim, do të bëja sa vijon:

1. Hapni direktorinë ku kam imazhet e klasifikuara në nën-direktori.

2. Krijoni një nën-direktori të re me emrin e datës aktuale, në formatin yy.mm.dd

3. Kaloni te nën-direktoria e krijuar herën e mëparshme dhe shikoni se cila është imazhi i fundit i ruajtur.

4. Kopjoni imazhet e reja nga karta SD në drejtorinë e sapo krijuar.

Kjo zgjat jo më shumë se një minutë, por është më lehtë që procesi të bëhet vetëm duke futur kartën.

Unë duhet të përdor kartën sepse nuk mund t'i transferoj drejtpërdrejt imazhet nga kamera përmes USB, pasi nuk ka shoferë Linux (siç ndodh gjithmonë)

Zgjidhja:

Krijoni një skenar bash që bën sa vijon:

1. Verifikoni në fillimin nëse karta SD është montuar. Përndryshe mbaron.

2. Shkoni te direktoria kryesore e imazheve dhe gjeni të fundit. Ruani emrin tuaj në një variabël.

3. Krahasoni datën aktuale me direktorinë e fundit, nëse ato ndryshojnë, krijoni një direktori të re me emrin e datës aktuale në formatin "yy.mm.dd".

4. Kaloni te direktoria e fundit (jo e reja, por e vjetër) dhe ruajeni emrin e skedarit të fundit të transferuar herën e mëparshme në një ndryshore.

Në këtë hap është e nevojshme të filtroni emrin e skedarit për të qenë në gjendje ta krahasoni atë me skedarët e rinj në kartë në të ardhmen e afërt. Skedarët kanë formatin e mëposhtëm: xxx_xxxx.eee Ku: x = shifra 0 deri 9 dhe eee = shtrirja (JPG, MOV). Për shembull: 100_5684.JPG, 100_5699.MOV. Pas filtrit, emri mbetet xxxxxxx Prandaj, në shembullin e mësipërm, do të kishim: 1005684, 1005699.

Meqenëse drejtoria mund të përmbajë lloje të tjera skedarësh ose me emra të ndryshuar, përdoret filtri.

5. Kaloni te karta dhe filtroni skedarët si në pikën e mëparshme.

6. Krahasoni skedarët në kartelë me ndryshoren që përmban skedarin e fundit të transferuar herën e mëparshme (pika 4) dhe kopjoni skedarët e emëruar në direktorinë e krijuar rishtas më e madhe se ndryshorja. (pasi që emrat janë thjesht numra).

7. Hapni direktorinë që përmban imazhet e reja me menaxherin e skedarëve.

Më poshtë po ju tregoj skenarin me komente që shpjegojnë se si funksionon. Unë sqaroj se nuk jam programues dhe kjo më dha disa dhimbje koke derisa e vura në punë, veçanërisht kur duhej të filtroja emrat për lakun "për".

#! / bin / bash ### --- VERTIFIKO N SDSE SD MONTIKOHET --- ### SD = / media / KODAK / DCIM / 100Z8612 nëse [[-d $ SD]]; atëherë ### --- KRIJO DIREKTORI --- ### # Lexo direktorinë e imazheve dhe krijo një tjetër me emrin e datës # të tanishme dhe lejeve 755 nëse nuk ekziston. cd ~ / Fotografitë / kodak ULTDIR = `ls -1 | tail -n1` # direktoria e fundit në listë. DATA = `data +% y.% M.% D` # Data aktuale në formatin YY.MM.DD nëse [" $ LASTDIR "! =" $ DATE "]; atëherë mkdir -vm 755`date +% y.% m.% d` # krijoj direktori me datën aktuale fi ### --- SHIKO FILE T FUNDIT T OF $ ULTDIR --- ### cd $ ULTDIR ULTIMG = `ls - 1 [0-9] [0-9] [0-9] _ [0-9] [0-9] [0-9] [0-9]. [JM] [PO] [GV] | bishti -n1 | prerë -c1-3,5-8` # shih imazhin e fundit me emrin xxx_XXXX.eee .eee = shtrirje skedari (JPG ose MOV) # Për të siguruar që skenari funksionon pasi të jetë përmbushur: # 100_9999.eee -> 101_0000. eee dhe nuk ka gabime # PRET në mënyrë që të jetë në formatin xxxXXXX ### --- L MVIZUR N TO DREJTORI E FUNDIT T THE LISTS --- ### # OSE KRIJUAR Kohët e fundit, NESE # CD ishte krijuar ... `ls -1 | bishti -n1 "# shkon përsëri sepse përndryshe merr ULTDIR-in e mëparshëm të if cd / media / KODAK / DCIM / 100Z8612 ### --- FILTRO skedarët në SD --- ### FILTER =` ls -1 [ 0 -9] [0-9] [0-9] _ [0-9] [0-9] [0-9] [0-9]. [JM] [PO] [GV] `### - - Krahasoni skedarët e rinj me emrin më të madh se sa i fundit --- ### për I në $ FILTER bëni N = `jehonë $ I | prerë -c1-3,5-8` # Emri i prerë nëse [["" $ ULTIMG "-lt" $ N "]]; atëherë cp $ I ~ / Fotografitë / kodak / $ ULTDIR fi bërë thunar ~ / Piktura / kodak / $ ULTDIR # Hapni direktorinë e re me Thunar tjetër dilni 0 fi dalje 0

Më në fund për ta bërë atë të funksionojë, unë e shtova atë në aplikacionin "Disfovable Drives and Media" të Xfce në menunë

Cilësimet Manager Menaxheri i cilësimeve Xfce 4 → Disqet e lëvizshme dhe media → Kamerat

duke përdorur opsionin e imazhit të importit. Kur fut kartën, një kuti dialogu pyet nëse dua të importoj imazhet. Me pranimin, skenari ekzekutohet.

Epo kjo është ajo. Na vjen keq për rrëmujën e tekstit, është postimi im i parë dhe nuk di si ta përpiloj skenarin kur e redaktoj. Shpresoj se është e dobishme për dikë të paktën të ketë një ide dhe ta përshtatë atë për secilin rast të veçantë.

Unë nuk licensova sepse nuk e kam informuar veten mirë për secilin version të GPL, por ata janë të lirë të kopjojnë dhe modifikojnë atë. Dhe mos hezitoni të thoni se si mund të përmirësohet ose nëse ka mënyra të tjera për të bërë të njëjtën gjë, por më lehtë.

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Percaff_TI99 dijo

    Joaquín shumë interesant, një ide e mirë është të ngarkoni skenarin në ngjitjen ku është më lehtë të ndani kodin, dhe siç thoni ju mund të përshtatet me nevojat e tjera dhe dikush mëson të përdorë pak më shumë

    Përshëndetje!

    1.    Joaquin dijo

      Bërë, shtuar në http://paste.desdelinux.net/4737
      Ju faleminderit!

  2.   vr_rv dijo

    Kur kopjoni një fotografi që është tashmë në direktori, nuk tregon se ekziston tashmë një dhe ju jep mundësinë ta zëvendësoni ose jo ta kopjoni?

    Gjithsesi është shumë i dobishëm, pasi bën gjithçka automatikisht

    1.    Joaquin dijo

      Pershendetje Në të vërtetë nuk kopjon imazhe përsëritëse, por thjesht i injoron ato. Ideja ishte pikërisht për të kopjuar skedarët e rinj pa nevojën e ndërveprimit të përdoruesit. Gjithashtu, nëse nuk shtoni imazhe më shumë se një herë në ditë, skenari kopjon skedarët e rinj në një direktori të re. Unë e shpjegoj shkurtimisht:

      Sot është 10/03/13, unë krijoj një direktori të quajtur 13.03.10/100/4440 dhe kopjoj disa imazhe ose video (MOV) brenda: 100_4441.JPG, 100_4442.JPG, 100_4445.MOV, XNUMX_XNUMX.JPG
      (4443 dhe 4444 të zhdukur u fshinë me kamerë, e fundit është 4445).

      Atëherë supozoni se unë e përdor skriptin më 01/04/13 dhe kam imazhe të reja në kartelë. Skripti krijon një direktori të quajtur 13.04.01 dhe brenda imazheve / videove të reja emri i të cilave është më i madh se "4445"; sepse lexon direktorinë 13.03.10 dhe imazhi i fundit është 100_4445.JPG. Nëse e përsëris skenarin me imazhe të reja të kartave atë ditë, ato shtohen në direktorinë 13.04.01. Asnjë nuk është mbishkruar.

      Shpresoj ta kem sqaruar pak idenë time

  3.   Manuti dijo

    Dhe nuk e njihni Shkarkuesin e Shpejtë të Fotove? Unë mendoj se i bën të gjitha ato dhe më shumë.

    1.    Z. Zi dijo

      Gjë është se një djalë i dobët e bëri atë vetë, ai do të ishte argëtuar mendoj dhe kjo mund t'i shërbejë dikujt tjetër

    2.    Joaquin dijo

      Pershendetje Unë nuk e dija atë dhe duket mirë nga ajo që pashë në internet, por në të vërtetë skenari përmbush në mënyrë të përsosur atë që kam nevojë; që është për të futur kartën dhe të kopjohen automatikisht të gjitha skedarët.

      Gjithashtu më ndihmoi të mësoj pak më shumë sepse padyshim që nuk funksionoi herën e parë; Gabimet ndodhën dhe ju mësoni shumë prej tyre.

      Nuk kisha ndërmend të tregoja skenarin për të zgjidhur probleme për të tjerët, ka aplikacione si ato që përmendni dhe që janë më të përgjithshme. Unë e ndava atë që ju ta lexoni dhe si referencë për të krijuar gjëra të reja duke përdorur sythe (në këtë rast "për") dhe shprehje të rregullta (ndryshoret "ULTIMG" dhe "FILTER" në skenar)

  4.   tabela e kodeve dijo

    Duket e dobishme, e mbaj në rast se kam nevojë për një ditë. Faleminderit.

    1.    Joaquin dijo

      Ju faleminderit!

  5.   i paemëruar dijo

    por për këtë tashmë kemi grsync

    1.    Joaquin dijo

      Po, por mendoj se rsync përdoret më shumë për rezervime. Unë kurrë nuk e kam parë atë, por është një aplikacion që ne duhet ta marrim parasysh dhe të mësojmë nga të gjithë ne.

      Nuk e dija që kishte një ndërfaqe grafike për rsync.

  6.   i ri dijo

    Wow, unë e shoh kodin shumë interesant, shumë të dobishëm. vazhdoje ashtu. 😀
    Do ta mbaj në rast se kam nevojë për të.

    Përshëndetje.

    1.    Joaquin dijo

      Faleminderit!.