انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: کاهش حجم عکسها دسته جمعی  (دفعات بازدید: 1983 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین beautilinux

  • Jr. Member
  • *
  • ارسال: 48
  • جنسیت : پسر
پاسخ : کاهش حجم عکسها دسته جمعی
« پاسخ #15 : 22 خرداد 1398، 01:33 ب‌ظ »
نقل‌قول
راستی هر برنامه ای باید تست بشه. چه ۲ سطر کد داشته باشه چه ۱۰۰۰ سطر.

پس بیا تستش کنیم:

12:10:11 hossein@ArchLinux ~ du -sh Images
13M     Images
12:10:33 hossein@ArchLinux ~ cd Images   
12:10:40 hossein@ArchLinux Images touch mybash
12:10:49 hossein@ArchLinux Images chmod u+x mybash
12:10:56 hossein@ArchLinux Images nano mybash     
12:11:02 hossein@ArchLinux Images cat mybash     
#!/bin/bash
for img in "$@"
do

    convert "$img" -resize "1280x960>" $(basename "$img" .JPG)_new.jpg
done

mkdir archived
mv *_new.jpg archived
12:11:07 hossein@ArchLinux Images ./mybash *.jpg 
12:11:26 hossein@ArchLinux Images du -sh archived
1.4M    archived
12:11:46 hossein@ArchLinux Images

13 مگ شد 1.4 مگ! یعنی کار کرد، می‌تونی هم به جای resize سوییچ quality رو استفاده کنی.

 
نقل‌قول
سلام اگه بخوایم مسیر عکسها رو بصورت متغیر بهش بدیم چطور باید ویرایشش کرد؟ مثلا از کاربر بخواد مسیر رو وترد کنه و کاربر هم به اینصورت مسیر رو بده

با read از کاربر داده می‌گیری و var name رو می‌دی جایی که مورد نیازه.

همون اسکریپتی که مهران نوشته بود رو ویرایش می‌کنم:


#!/bin/bash

IFS=$'\n'

read -p "Directory path: " response

cd $response

files=`ls -1 $1`

archivedDir=$1/'archived'
mkdir $archivedDir

for img in $files; do
convert $1/$img -quality 70 $archivedDir/$img
done



نقل‌قول
منتظرم دوستمون به سوال پاسخ بده اسکریپت ایشون کار میکنه

اگه ارزش وقتی که دیگران برات می‌ذارن رو بدونی و پیام‌هاشون رو با دقت بخونی (اشاره به پست #3) متوجه میشی که اسکریپت من هم کار می‌کرد ولی وقتی شما حتی به خودت زحمت نمی‌دی سرچ کنی که argV چیه معلومه کار نمی‌کنه.


نقل‌قول
راستی هر برنامه ای باید تست بشه. چه ۲ سطر کد داشته باشه چه ۱۰۰۰ سطر. موفق باشی


فعلا که کار کرد!
من قصد بی احترامی نداشتم اگ لحنم تند بود عذرمیخوام.
شما زحمت کشیدین منم متشکرم ک وقت میذارین

آفلاین Silvio Dante

  • High Hero Member
  • *
  • ارسال: 1221
  • جنسیت : پسر
  • Arch Linux
    • وبلاگ شخصی
پاسخ : کاهش حجم عکسها دسته جمعی
« پاسخ #16 : 22 خرداد 1398، 11:47 ب‌ظ »
سلام اگه بخوایم مسیر عکسها رو بصورت متغیر بهش بدیم چطور باید ویرایشش کرد؟ مثلا از کاربر بخواد مسیر رو وترد کنه و کاربر هم به اینصورت مسیر رو بده
/Home/xuser/dir
مثل ویرایشی که حسین نوشت می‌تونید یه input بذارین و مقدارشو داخل یه متغیر ذخیره کنید و در نهایت به جای $1 مقدار اون متغیر رو جایگزین کنین. همچین چیزی:
#!/bin/bash

IFS=$'\n'

read -p 'enter your path: ' path

files=`ls -1 $path`

archivedDir=$path/'archived'
mkdir $archivedDir

for img in $files; do
convert $path/$img -quality 70 $archivedDir/$img
done
به ما نگفته بودند ایران در زمان احمدشاه قاجار چگونه بوده است. همیشه به ما دادند، ما هم فکر کردیم باید می‌داده‌اند و تازه خیال می‌کردیم کم‌مان است باز هم می‌خواستیم!!
فریدون فرخزاد