ஸ்கிரிப்ட் பாஷ்: எஸ்டி முதல் பிசி வரை புதிய படங்களை நகலெடுக்கவும்

சில நேரங்களில் எங்கள் கணினியில் மீண்டும் மீண்டும் பணிகளைச் செய்ய வேண்டும், இது காலப்போக்கில் கடினமானது. சில சந்தர்ப்பங்களில், எங்களுக்கு வேலை செய்யும் ஸ்கிரிப்ட்களைப் பயன்படுத்துவதன் மூலம் எங்கள் வேலையை எளிதாக்கலாம்.

ஒரு தேவையைத் தீர்க்கும் பாஷ் ஸ்கிரிப்டைக் காண்பிப்பதற்காக இன்று நான் எழுதுகிறேன்: எனது டிஜிட்டல் கேமராவிலிருந்து புதிய படங்களை ஒரு எஸ்டி கார்டிலிருந்து பிசிக்கு நகலெடுக்கவும்.

நிலைமை:

ஒவ்வொரு முறையும் எனது கணினியில் பதிவிறக்கம் செய்ய புதிய படங்கள் இருக்கும்போது, ​​பின்வருவனவற்றைச் செய்வேன்:

1. துணை கோப்பகங்களில் வகைப்படுத்தப்பட்ட படங்களை நான் வைத்திருக்கும் கோப்பகத்தைத் திறக்கவும்.

2. yy.mm.dd வடிவத்தில் தற்போதைய தேதியின் பெயருடன் புதிய துணை கோப்பகத்தை உருவாக்கவும்

3. முந்தைய முறை உருவாக்கிய துணை அடைவுக்குச் சென்று கடைசியாக சேமித்த படம் எது என்று பாருங்கள்.

4. புதிய அட்டைகளை எஸ்டி கார்டிலிருந்து புதிதாக உருவாக்கப்பட்ட கோப்பகத்திற்கு நகலெடுக்கவும்.

இது ஒரு நிமிடத்திற்கு மேல் ஆகாது, ஆனால் அட்டையைச் செருகுவதன் மூலம் செயல்முறை செய்ய எளிதானது.

லினக்ஸிற்கான இயக்கிகள் இல்லாததால் (எப்போதும் நடக்கும்…)

தீர்வு:

பின்வருவனவற்றைச் செய்யும் பாஷ் ஸ்கிரிப்டை உருவாக்கவும்:

1. எஸ்டி கார்டு ஏற்றப்பட்டிருந்தால் தொடக்கத்தில் சரிபார்க்கவும். இல்லையெனில் அது முடிகிறது.

2. படங்களின் பிரதான கோப்பகத்திற்குச் சென்று கடைசியாக ஒன்றைக் கண்டறியவும். உங்கள் பெயரை ஒரு மாறியில் சேமிக்கவும்.

3. தற்போதைய தேதியை கடைசி கோப்பகத்துடன் ஒப்பிடுங்கள், அவை வேறுபட்டால், தற்போதைய தேதியின் பெயருடன் "yy.mm.dd" வடிவத்தில் புதிய கோப்பகத்தை உருவாக்கவும்.

4. கடைசி கோப்பகத்திற்கு நகர்த்தவும் (புதியது அல்ல, ஆனால் பழையது) மற்றும் கடைசி நேரத்தை மாற்றப்பட்ட கடைசி கோப்பின் பெயரை சேமிக்கவும்.

இந்த கட்டத்தில், கோப்பின் பெயரை வடிகட்ட வேண்டியது அவசியம், அதை எதிர்காலத்தில் அட்டையில் உள்ள புதிய கோப்புகளுடன் ஒப்பிடலாம். கோப்புகள் பின்வரும் வடிவமைப்பைக் கொண்டுள்ளன: XXX_xxxx.eee எங்கே: x = இலக்க 0 முதல் 9 மற்றும் eee = நீட்டிப்பு (JPG, MOV). எடுத்துக்காட்டாக: 100_5684.JPG, 100_5699.MOV. வடிப்பானுக்குப் பிறகு, பெயர் xxxxxxx ஆக உள்ளது எனவே, மேலே உள்ள எடுத்துக்காட்டில், எங்களிடம்: 1005684, 1005699.

கோப்பகத்தில் மற்ற வகை கோப்புகள் அல்லது மாற்றப்பட்ட பெயர்கள் இருக்கலாம் என்பதால், வடிகட்டி பயன்படுத்தப்படுகிறது.

5. அட்டைக்கு நகர்த்தவும், முந்தைய புள்ளியைப் போலவே கோப்புகளை வடிகட்டவும்.

6. கார்டில் உள்ள கோப்புகளை முந்தைய நேரத்தை மாற்றியமைத்த கடைசி கோப்பை (புள்ளி 4) கொண்ட மாறியுடன் ஒப்பிட்டு, பெயரிடப்பட்ட கோப்புகளை புதிதாக உருவாக்கிய கோப்பகத்தில் நகலெடுக்கவும் மாறியை விட பெரியது. (பெயர்கள் வெறும் எண்கள் என்பதால்).

7. கோப்பு மேலாளருடன் புதிய படங்களைக் கொண்ட கோப்பகத்தைத் திறக்கவும்.

அடுத்து ஸ்கிரிப்ட் எவ்வாறு செயல்படுகிறது என்பதை விளக்கும் கருத்துகளுடன் காண்பிக்கிறேன். நான் ஒரு புரோகிராமர் அல்ல என்பதை தெளிவுபடுத்துகிறேன், நான் வேலை செய்யும் வரை இது எனக்கு பல தலைவலிகளைக் கொடுத்தது, குறிப்பாக "ஃபார்" லூப்பிற்கான பெயர்களை வடிகட்ட வேண்டியிருக்கும் போது.

#! / bin / bash ### --- SD மதிப்பிடப்பட்டிருந்தால் சரிபார்க்கவும் --- ### SD = / மீடியா / கோடாக் / DCIM / 100Z8612 என்றால் [[-d $ SD]]; பின்னர் ### --- டைரக்டரியை உருவாக்கவும் --- ### # படங்களின் கோப்பகத்தைப் படித்து, # தற்போதைய தேதி மற்றும் அனுமதிகள் 755 இல்லாவிட்டால் இன்னொன்றை உருவாக்கவும். cd ~ / படங்கள் / கோடக் ULTDIR = `ls -1 | வால் -n1` # பட்டியலில் கடைசி அடைவு. ["$ LASTDIR"! = "$ DATE"] என்றால் DATE = `தேதி +% y.% M.% D` # YY.MM.DD வடிவத்தில் தற்போதைய தேதி; பின்னர் mkdir -vm 755`date +% y.% m.% d` # தற்போதைய தேதியுடன் கோப்பகத்தை உருவாக்குக fi ### --- $ ULTDIR --- ### cd $ ULTDIR ULTIMG = `ls - 1 [0-9] [0-9] [0-9] _ [0-9] [0-9] [0-9] [0-9]. [JM] [PO] [GV] | வால் -என் 1 | cut -c1-3,5-8` # கடைசி படத்தை xxx_XXXX.eee என்ற பெயருடன் காண்க .eee = கோப்பு நீட்டிப்பு (JPG அல்லது MOV) # ஸ்கிரிப்ட் நிறைவேறிய பின் செயல்படுவதை உறுதி செய்ய: # 100_9999.eee -> 101_0000. eee மற்றும் பிழைகள் எதுவும் இல்லை # CUT எனவே இது xxxXXXX ### வடிவத்தில் உள்ளது --- பட்டியலின் கடைசி டைரக்டரிக்கு நகர்த்து --- ### # அல்லது சமீபத்தில் உருவாக்கப்பட்டது, # cd உருவாக்கப்பட்டது என்றால் .. கடைசியாக = `ls -1 | வால் -என் 1` # மீண்டும் செல்கிறது, இல்லையெனில் அது சிடி / மீடியா / கோடாக் / டிசிஐஎம் / 100 இசட் 8612 ### --- இன் முந்தைய யுஎல்டிடிஐஆரை எடுக்கும். 1 -0] [9-0] [9-0] _ [9-0] [9-0] [9-0] [9-0]. [JM] [PO] [GV] `### - - புதிய பெயர்களை கடைசி பெயருடன் ஒப்பிடுக --- ### $ FILTER do N = `எதிரொலி $ நான் | cut -c9-1-3,5` # [["$ ULTIMG" -lt "$ N"]] என்றால் பெயரைக் குறைக்கவும்; பின்னர் cp $ I ~ / Pictures / kodak / $ ULTDIR fi done thunar ~ / Pictures / kodak / $ ULTDIR # Thunar உடன் புதிய கோப்பகத்தைத் திறக்கவும் 8 fi exit 0

இறுதியாக இது வேலை செய்ய, மெனுவில் உள்ள Xfce இன் "நீக்கக்கூடிய இயக்கிகள் மற்றும் மீடியா" பயன்பாட்டில் சேர்த்தேன்

அமைப்புகள் → Xfce 4 அமைப்புகள் மேலாளர் → நீக்கக்கூடிய இயக்கிகள் மற்றும் மீடியா → கேமராக்கள்

இறக்குமதி பட விருப்பத்தைப் பயன்படுத்துகிறது. நான் அட்டையைச் செருகும்போது, ​​படங்களை இறக்குமதி செய்ய வேண்டுமா என்று ஒரு உரையாடல் பெட்டி கேட்கிறது. ஏற்றுக்கொண்டால், ஸ்கிரிப்ட் செயல்படுத்தப்படுகிறது.

சரி அவ்வளவுதான். உரையின் குழப்பத்திற்கு மன்னிக்கவும், இது எனது முதல் இடுகை, அதைத் திருத்தும் போது ஸ்கிரிப்டை எவ்வாறு அட்டவணைப்படுத்துவது என்று எனக்குத் தெரியவில்லை. ஒருவருக்கு குறைந்தபட்சம் ஒரு யோசனை இருப்பதும், ஒவ்வொரு குறிப்பிட்ட விஷயத்திற்கும் அதை மாற்றியமைப்பதும் பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன்.

ஜி.பி.எல் இன் ஒவ்வொரு பதிப்பையும் பற்றி எனக்கு நன்றாகத் தெரியப்படுத்தாததால் நான் உரிமம் பெறவில்லை, ஆனால் அதை நகலெடுத்து மாற்றியமைக்க அவர்கள் சுதந்திரமாக உள்ளனர். அதை எவ்வாறு மேம்படுத்தலாம் அல்லது இதைச் செய்ய வேறு வழிகள் இருந்தால், ஆனால் எளிதாகச் சொல்லலாம்.

உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   பெர்காஃப்_டிஐ 99 அவர் கூறினார்

    மிகவும் சுவாரஸ்யமான ஜோவாகின், குறியீட்டைப் பகிர்வது எளிதான இடத்தில் பேஸ்ட்டில் ஸ்கிரிப்டைப் பதிவேற்றுவது ஒரு நல்ல யோசனையாகும், மேலும் நீங்கள் சொல்வது போல் இது மற்ற தேவைகளுக்கு ஏற்றதாக இருக்கக்கூடும், மேலும் ஒருவர் பாஷை இன்னும் கொஞ்சம் பயன்படுத்த கற்றுக்கொள்கிறார்.

    வாழ்த்துக்கள் !!!

    1.    ஜோகுயின் அவர் கூறினார்

      முடிந்தது, சேர்க்கப்பட்டது http://paste.desdelinux.net/4737
      நன்றி!

  2.   vr_rv அவர் கூறினார்

    ஏற்கனவே கோப்பகத்தில் உள்ள ஒரு புகைப்படத்தை நகலெடுக்கும்போது, ​​ஏற்கனவே ஒன்று இருப்பதைக் குறிக்கவில்லை, அதை மாற்றுவதற்கான விருப்பத்தை உங்களுக்குத் தருகிறதா அல்லது நகலெடுக்க வேண்டாமா?

    எப்படியிருந்தாலும் இது மிகவும் பயனுள்ளதாக இருக்கும், ஏனெனில் இது எல்லாவற்றையும் தானாகவே செய்கிறது

    1.    ஜோகுயின் அவர் கூறினார்

      வணக்கம். இது உண்மையில் மீண்டும் மீண்டும் படங்களை நகலெடுக்காது, அது அவற்றைப் புறக்கணிக்கிறது. பயனர் தொடர்பு தேவையில்லாமல் புதிய கோப்புகளை நகலெடுப்பதற்கான யோசனை துல்லியமாக இருந்தது. மேலும், நீங்கள் ஒரு நாளைக்கு ஒரு முறைக்கு மேல் படங்களைச் சேர்க்காவிட்டால், ஸ்கிரிப்ட் புதிய கோப்புகளை புதிய கோப்பகத்தில் நகலெடுக்கிறது. நான் சுருக்கமாக விளக்குகிறேன்:

      இன்று 10/03/13, நான் 13.03.10/100/4440 என்ற கோப்பகத்தை உருவாக்கி உள்ளே சில படங்கள் அல்லது வீடியோவை (MOV) நகலெடுக்கிறேன்: 100_4441.JPG, 100_4442.JPG, 100_4445.MOV, XNUMX_XNUMX.JPG
      (காணாமல் போன 4443 மற்றும் 4444 ஆகியவை கேமரா மூலம் அழிக்கப்பட்டன, கடைசியாக 4445 ஆகும்).

      நான் 01/04/13 அன்று ஸ்கிரிப்டைப் பயன்படுத்துகிறேன், அட்டையில் புதிய படங்கள் உள்ளன என்று வைத்துக்கொள்வோம். ஸ்கிரிப்ட் 13.04.01 எனப்படும் ஒரு கோப்பகத்தை உருவாக்குகிறது மற்றும் புதிய படங்கள் / வீடியோக்களுக்குள் "4445" ஐ விட பெரியது; ஏனெனில் இது 13.03.10 கோப்பகத்தைப் படிக்கிறது மற்றும் கடைசி படம் 100_4445.JPG ஆகும். அதே நாளில் கார்டிலிருந்து புதிய படங்களுடன் ஸ்கிரிப்டை மீண்டும் இயக்கினால், அவை 13.04.01 கோப்பகத்தில் சேர்க்கப்படும். எதுவும் மேலெழுதப்படவில்லை.

      எனது யோசனையை நான் கொஞ்சம் தெளிவுபடுத்தியுள்ளேன் என்று நம்புகிறேன்

  3.   மனூட்டி அவர் கூறினார்

    விரைவான புகைப்பட பதிவிறக்குபவர் உங்களுக்குத் தெரியாதா? அது எல்லாவற்றையும் மேலும் செய்கிறது என்று நான் நினைக்கிறேன்.

    1.    திரு பிளாக் அவர் கூறினார்

      புள்ளி என்னவென்றால், ஒல்லியான மனிதன் அதை தானே செய்தான், நான் யூகிக்கிறேன், அது வேறொருவருக்கு சேவை செய்ய முடியும்

    2.    ஜோகுயின் அவர் கூறினார்

      வணக்கம். எனக்கு அது தெரியாது, இணையத்தில் நான் பார்த்ததிலிருந்து இது நன்றாகத் தெரிகிறது, ஆனால் உண்மையில் ஸ்கிரிப்ட் எனக்குத் தேவையானதை பூர்த்திசெய்கிறது; இது கார்டைச் செருகுவதோடு அனைத்து கோப்புகளும் தானாக நகலெடுக்கப்பட வேண்டும்.

      இது இன்னும் கொஞ்சம் கற்றுக்கொள்ள எனக்கு உதவியது, ஏனெனில் இது முதல் முறையாக வேலை செய்யவில்லை; தவறுகள் நிகழ்ந்தன, அவர்களிடமிருந்து நிறைய கற்றுக்கொள்ளப்படுகின்றன.

      மற்றவர்களுக்கான சிக்கல்களைத் தீர்க்க ஸ்கிரிப்டைக் காட்ட நான் விரும்பவில்லை, நீங்கள் குறிப்பிடும் பயன்பாடுகள் மிகவும் பொதுவானவை. நீங்கள் படிக்கவும், சுழல்களைப் பயன்படுத்தும் புதிய விஷயங்களை உருவாக்கவும் (இந்த விஷயத்தில் "க்கு") மற்றும் வழக்கமான வெளிப்பாடுகள் (ஸ்கிரிப்ட்டில் "ULTIMG" மற்றும் "FILTER" மாறிகள்)

  4.   கோட்லேப் அவர் கூறினார்

    இது பயனுள்ளதாகத் தெரிகிறது, எனக்கு ஒரு நாள் தேவைப்பட்டால் அதை வைத்திருக்கிறேன். நன்றி.

    1.    ஜோகுயின் அவர் கூறினார்

      நன்றி!

  5.   பெயரிடப்படாதது அவர் கூறினார்

    ஆனால் அதற்காக எங்களிடம் ஏற்கனவே grsync உள்ளது

    1.    ஜோகுயின் அவர் கூறினார்

      ஆம், ஆனால் rsync காப்புப்பிரதிகளுக்கு அதிகம் பயன்படுத்தப்படுகிறது என்று நினைக்கிறேன். நான் அதை ஒருபோதும் பார்த்ததில்லை, ஆனால் அது நம் அனைவரிடமிருந்தும் கணக்கில் எடுத்துக்கொள்ள வேண்டிய ஒரு பயன்பாடு.

      Rsync க்கு ஒரு வரைகலை இடைமுகம் இருப்பதாக எனக்குத் தெரியவில்லை.

  6.   கடைசியாக புதியவர் அவர் கூறினார்

    ஆஹா, நான் குறியீட்டை மிகவும் சுவாரஸ்யமாகவும், மிகவும் பயனுள்ளதாகவும் காண்கிறேன். பழக்கப்படுத்தி கொள் அல்லது மேம்படுத்திக்கொள். 😀
    எனக்கு தேவைப்பட்டால் அதை வைத்திருப்பேன்.

    வாழ்த்துக்கள்.

    1.    ஜோகுயின் அவர் கூறினார்

      நன்றி!.