Script Bash: шинэ зургуудыг SD-с компьютерт хуулах

Заримдаа бид компьютер дээрээ давтагддаг даалгавруудыг гүйцэтгэх хэрэгтэй болдог бөгөөд энэ нь цаг хугацаа өнгөрөх тусам уйтгартай болдог. Зарим тохиолдолд бид өөрсдөдөө тохирсон скриптүүдийг ашиглан ажлаа хөнгөвчлөх боломжтой.

Өнөөдөр би танд дижитал камераас шинэ зургуудыг SD картаас компьютерт хуулж авах нэгэн хэрэгцээг шийдсэн bash скриптийг үзүүлэхээр бичиж байна.

Нөхцөл байдал:

Компьютер дээрээ татаж авах шинэ зурагтай болох болгондоо би дараах зүйлийг хийх болно.

1. Дэд сангуудад ангилагдсан зургуудыг байрлуулсан директорыг нээнэ үү.

2. Одоогийн огнооны нэртэй yy.mm.dd форматтай шинэ дэд директор үүсгээрэй

3. Өмнөх цаг үед үүссэн дэд директор руу шилжиж, хамгийн сүүлд хадгалагдсан зураг юу болохыг хараарай.

4. SD картаас шинэ зургуудыг шинээр үүсгэсэн директор руу хуулж ав.

Энэ нь нэг минутаас хэтрэхгүй хугацаа шаардагдах боловч картыг оруулснаар л процесс амархан явагдана.

Линуксийн драйвер байдаггүй тул үргэлж камераас дүрсийг USB-ээр дамжуулах боломжгүй тул би картаа ашиглах шаардлагатай болдог (үргэлж л тохиолддог шиг ...)

Шийдэл:

Дараахь зүйлийг хийх bash скриптийг үүсгээрэй.

1. SD карт холбогдсон бол эхлүүлэх үед баталгаажуулна уу. Үгүй бол энэ нь дуусна.

2. Зургийн үндсэн лавлах руу ороод сүүлийг нь ол. Нэрээ хувьсагч дотор хадгалаарай.

3. Одоогийн огноог сүүлчийн лавлахтай харьцуулж үзээрэй, хэрэв ялгаатай бол "yy.mm.dd" форматаар тухайн огнооны нэртэй шинэ директор үүсгээрэй.

4. Сүүлийн директор руу шилжиж (шинэ биш, харин хуучин), өмнөх цаг шилжүүлсэн сүүлчийн файлын нэрийг хувьсагч дотор хадгална уу.

Энэ алхам дээр ойрын ирээдүйд картын шинэ файлуудтай харьцуулахын тулд файлын нэрийг шүүх шаардлагатай. Файлууд нь дараахь форматтай байна. XXX_хххх.ээээ Үүнд: x = 0-ээс 9 хүртэлх цифр ба eee = өргөтгөл (JPG, MOV). Жишээлбэл: 100_5684.JPG, 100_5699.MOV. Шүүлтүүрийн дараа нэр нь ххххххх хэвээр үлдэнэ Тиймээс дээрх жишээнд бид дараахь зүйлийг авах болно: 1005684, 1005699.

Лавлах санд өөр төрлийн файлууд эсвэл өөр нэртэй файлуудыг агуулж болох тул шүүлтүүрийг ашигладаг.

5. Карт руу шилжиж, өмнөх цэгийн адил файлуудыг шүүх.

6. Карт дээрх файлуудыг өмнөх цаг хугацаанд шилжүүлсэн хамгийн сүүлийн файлыг агуулсан хувьсагчтай харьцуулж нэрлэсэн файлуудыг шинээр үүсгэсэн директор руу хуулж ав. хувьсагчаас их. (нэр нь зөвхөн тоо байдаг тул).

7. Шинэ зураг агуулсан директорыг файлын менежертэй нээнэ үү.

Доор би та бүхэнд хэрхэн ажилладагийг тайлбарласан тайлбар бүхий скриптийг үзүүлж байна. Би програмист биш гэдгээ тодруулж хэлээд ажил эхлэх хүртлээ толгой өвдөхөд хүргэсэн, ялангуяа "for" гогцоонд нэрсийг нь шүүх шаардлагатай болсон.

#! / bin / bash ### --- SD-ийг холбосон тохиолдолд баталгаажуулах --- ### SD = / media / KODAK / DCIM / 100Z8612 бол [[-d $ SD]]; дараа нь ### --- ЧИГЛЭЛИЙГ ҮЙЛДВЭРЛЭХ --- ### # Зургийн лавлахыг уншаад, хэрэв байхгүй бол # одоогийн огноо, зөвшөөрлийн 755 гэсэн нэртэй өөрийг үүсгээрэй. cd ~ / Pictures / kodak ULTDIR = `ls -1 | tail -n1` # жагсаалтын хамгийн сүүлийн лавлах. DATE = `огноо +% y.% M.% D` # Одоогийн огноо YY.MM.DD форматтай бол хэрэв [" $ LASTDIR "! =" $ DATE "]; Дараа нь mkdir -vm 755` огноо +% y.% m.% d` # одоогийн огноотой лавлах үүсгэх ### --- $ ULTDIR - - ### cd $ ULTDIR ULTIMG = `ls - 1 [0-9] [0-9] [0-9] _ [0-9] [0-9] [0-9] [0-9]. [JM] [PO] [GV] | сүүл -n1 | cut -c1-3,5-8` # xxx_XXXX.eee нэртэй сүүлчийн зургийг үзнэ үү .eee = файлын өргөтгөл (JPG эсвэл MOV) # Скрипт нь дуусаад ажилласныг баталгаажуулахын тулд: # 100_9999.eee - > 101_0000. `ls -1 | tail -n1` # дахин ажиллана, яагаад гэвэл if cd / media / KODAK / DCIM / 100Z8612 ### --- SD файлуудыг ШҮҮЛЖЭЭ --- ### FILTER = `ls -1 [0 -9] [0-9] [0-9] _ [0-9] [0-9] [0-9] [0-9]. [JM] [PO] [GV] `### - - ШИНЭ ФАЙЛУУДЫГ СҮҮЛИЙН ХЭРЭГГҮЙ НЭРТЭЙ ХАРЬЦУУЛАХ --- ### I for $ FILTER do N = `echo $ I | хасах -c1-3,5-8` # Хэрэв [["$ ULTIMG" -lt "$ N"]] хайчлан бичсэн нэр; Дараа нь cp $ I ~ / Pictures / kodak / $ ULTDIR fi done thunar ~ / Pictures / kodak / $ ULTDIR # Thunar-тай шинэ директорыг нээнэ үү 0 fi гарах 0

Эцэст нь үүнийг ажиллуулахын тулд Xfce-ийн "Зөөврийн драйвер ба медиа" програм дээр цэс дээр нэмсэн

Тохиргоо → Xfce 4 Тохиргооны менежер → Зөөврийн драйвер ба медиа → Камер

импортын зургийн сонголтыг ашиглан. Намайг картаа оруулахад харилцах цонх намайг зургуудыг импортлохыг хүсч байгаа эсэхийг асууна. Хүлээн авахдаа скриптийг гүйцэтгэнэ.

За тэгээд л боллоо. Текстийг эмх замбараагүй болгосонд уучлаарай, энэ бол миний анхны бичлэг бөгөөд үүнийг засахдаа скриптийг хэрхэн хүснэгтэд оруулахаа мэдэхгүй байна. Хэн нэгэнд ядаж санаа оноож, тодорхой тохиолдол бүрт нийцүүлэн ашиглах нь ашигтай байх гэж найдаж байна.

Би GPL-ийн хувилбар бүрийн талаар өөртөө сайн мэдээлэл өгөөгүй тул тусгай зөвшөөрөл аваагүй боловч хуулбарлах, өөрчлөх эрх чөлөөтэй байдаг. Үүнийг хэрхэн сайжруулж болох эсвэл үүнтэй ижил төстэй, гэхдээ илүү хялбар болгох өөр арга зам байгаа эсэхийг хэлэхээс бүү эргэлз.

Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

13 сэтгэгдэл, үлдээгээрэй

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.

  1.   Percaff_TI99 гэж хэлэв

    Жоакин маш сонирхолтой, сайн санаа бол скриптийг кодыг хуваалцахад илүү хялбар газар оо дээр байршуулах бөгөөд таны хэлснээр үүнийг бусад хэрэгцээнд тохируулан өөрчилж болох бөгөөд хүн bash-ийг арай илүү ашиглаж сурах болно.

    Баярлалаа!

    1.    Joaquin гэж хэлэв

      Дуусав http://paste.desdelinux.net/4737
      Баярлалаа!

  2.   vr_rv гэж хэлэв

    Лавлах санд байгаа зургийг хуулж авахдаа аль хэдийнээ байгааг заагаагүй тул солих, хуулахгүй байх боломжийг танд олгоно уу?

    Энэ нь бүх зүйлийг автоматаар хийдэг тул энэ нь маш их хэрэгтэй юм

    1.    Joaquin гэж хэлэв

      Сайн уу. Энэ нь үнэндээ давтагдсан зургийг хуулж авдаггүй, зөвхөн үл тоомсорлодог. Хэрэглэгчидтэй харилцах шаардлагагүйгээр шинэ файлуудыг хуулах санаа нь яг тохирсон байв. Түүнчлэн, хэрэв та өдөрт нэгээс олон удаа зураг нэмэхгүй бол скрипт нь шинэ файлуудыг шинэ директор руу хуулна. Би товч тайлбарлав:

      Өнөөдөр 10/03/13, би 13.03.10/100/4440 нэртэй директор үүсгээд дотор нь 100_4441.JPG, 100_4442.JPG, 100_4445.MOV, XNUMX_XNUMX.JPG зарим дүрс эсвэл видео (MOV) хуулж авав.
      (алга болсон 4443, 4444-ийг камераар устгасан, сүүлчийнх нь 4445).

      Дараа нь би скриптийг 01/04/13 өдөр ашиглаад картан дээрээ шинэ зургуудтай байна гэж бодъё. Скрипт нь 13.04.01 нэртэй директорыг үүсгэдэг бөгөөд "4445" -ээс их нэр бүхий шинэ зураг / видео дотор; Учир нь энэ нь 13.03.10 директорыг уншдаг бөгөөд хамгийн сүүлийн зураг нь 100_4445.JPG юм. Хэрэв тэр өдөр би скриптийг шинэ картын зургуудаар дахин ажиллуулбал 13.04.01 директорт нэмнэ. Аль нь ч бичээгүй байна.

      Би санаагаа жаахан тодруулсан гэж найдаж байна 🙂

  3.   Манути гэж хэлэв

    Та Rapid Photo Downloader програмыг мэдэхгүй байна уу? Энэ бүх зүйлийг хийдэг гэж би боддог.

    1.    Ноён Блэк гэж хэлэв

      Юу вэ гэвэл туранхай залуу өөрөө хийсэн, тэр хөгжилтэй байх байсан гэж бодож байна

    2.    Joaquin гэж хэлэв

      Сайн уу. Би үүнийг мэдээгүй байсан бөгөөд интернетэд үзсэн зүйлээс харахад сайхан санагдаж байна, гэхдээ бодит байдал дээр скрипт нь миний хэрэгцээтэй зүйлийг төгс биелүүлж өгдөг. Энэ нь картаа оруулж, бүх файлыг автоматаар хуулбарлах явдал юм.

      Энэ нь надад бага зэрэг илүү их зүйлийг сурахад тусалсан, яагаад гэвэл энэ нь анх удаагаа ажиллахгүй байгаа нь ойлгомжтой; Алдаа гарсан тул та тэднээс олон зүйлийг сурч мэдсэн.

      Би бусдад тулгарч буй асуудлыг шийдвэрлэхийн тулд скриптийг үзүүлэхийг зорьсонгүй, таны хэлсэн програмууд шиг илүү ерөнхий програмууд байдаг. Гогцоонууд (энэ тохиолдолд "for") болон тогтмол илэрхийллүүд (скрипт дэх "ULTIMG" ба "FILTER" хувьсагчууд) ашиглан шинэ зүйлийг бүтээхэд зориулж унших, лавлагаа болгон хуваалцлаа.

  4.   коделаб гэж хэлэв

    Хэрэгтэй юм шиг санагдаж байна, нэг л өдөр хэрэг болох юм бол хадгалдаг. Баярлалаа.

    1.    Joaquin гэж хэлэв

      Баярлалаа!

  5.   нэргүй гэж хэлэв

    гэхдээ үүний тулд бид аль хэдийн grsync-тэй болсон

    1.    Joaquin гэж хэлэв

      Тийм ээ, гэхдээ rsync-ийг нөөцлөлт хийхэд илүү их ашигладаг гэж бодож байна. Би үүнийг хэзээ ч харж байгаагүй боловч энэ бол бидний анхааралдаа авч, бүгдээрээ суралцах ёстой програм юм.

      Rsync-ийн график интерфейс байгааг би мэдээгүй байсан.

  6.   шинэхэн гэж хэлэв

    Хөөх, код нь надад маш сонирхолтой, маш хэрэгтэй санагдаж байна. үргэлжлүүлээрэй. 😀
    Шаардлагатай бол би хадгалах болно.

    Сайн байцгаана уу.

    1.    Joaquin гэж хэлэв

      Баярлалаа!.