تغییر نام چند هزار فایل

۲۰ آذر ۱۳۹۰ ۲ دیدگاه

سلام
خیلی وقت بود که مطلبی ننوشتم… مشغله زیاد نمیذاره…
و حالا!
چندین هزار سند داریم که اسکن شده و با نام صاحب سند ذخیره شده‌اند!
حالا جریان از چه قراره؟ می خوایم تمامی اسناد رو به شماره پرونده شخص تغییر نام بدیم!!
راه حل اول، تغییر نام عکس ها بصورت دستی: اگر فرض کنیم ۱۰٫۰۰۰ سند داریم و پیدا کردن تصویر هر سند و تغییر نام اون بصورت دستی بیست ثانیه زمان ببره، چیزی بیش از ۵۰ ساعت کار مفید لازمه تا همه اسناد تغییر نام داده بشن…!!
حالا میریم سروقت راه حل دوم: اسکریپتی می نویسیم که این کار رو انجام بده!
اول میریم سراغ فایلی که مشخصات همه توش موجوده! دوتا ستون مربوط به نام و شماره پرونده رو انتخاب کرده و یه خروجی csv ازش میگیریم که میشه چیزی شبیه این:


۱۳ هادی
۱۴ مسعود
۱۵ امیر
۱۶ ساسان
۱۷ علیرضا

خب حالا برنامه!
دلم میخواست که با پایتون بنویسمش ولی نشد! پس بش!
تو خط ۶ بعد از متغیر name و num عبارت jpg. رو قرار دادم چون لیست تنها شامل نام میشه ولی فایل ها با فرمت jpg ذخیره شدن و بعد از تغییر نام هم باید مجددا پسوند رو داشته باشه تا عکس ها قابلیت نمایش داشته باشه…


#!/bin/bash
while read line
do
name=$(echo $line | awk '{print $1}')
num=$(echo $line | awk '{print $2}')
mv -v "$name".jpg "$num".jpg
done < namedb.csv

حالا کافیه که این کد رو توی یه فایل ذخیره کرده و بهش مجوز اجرا بدیم... و بعد هم اجرا...
حتی میشه اندازه گرفت که طی چه زمانی کار تغییر نام انجام میشه...!


chmod +x rename-script
time ./rename-script
`هادی.jpg' -> `13.jpg'
`مسعود.jpg' -> `14.jpg'
`امیر.jpg' -> `15.jpg'
`ساسان.jpg' -> `16.jpg'
`علیرضا.jpg' -> `17.jpg'
.
.
.
.
real 1m14.505s
user 0m13.294s
sys 0m25.628s

حیرت آوره! کمتر از دو دقیقه...! البته برنامه اصلی کمی با برنامه ای که نوشتم فرق داره! چون ساختار اسامی این شکلی نیست! اکثر از اسامی دو بخشی هستن و برخی ۳ بخشی...! حتی ممکنه که ۴ یا بیشتر هم بشه... فرق زیادی نداره و فقط خط ۴ کمی تغییر میکنه...
در پایان از جادی که با توجه مشغله زیادش برام وقت گذاشت و مهدی شیخ حسینی، که کمک کرد تا کارم رو انجام بدم سپاسگذارم...
موفق و لینوکسی باشید :)

دستورات خط فرمان – ۱۲

۱۸ مهر ۱۳۹۰ بدون دیدگاه

سلام
برای پیدا کردن شناسه پردازشی (pid) یک برنامه در حال اجرا بزنید:


$ ps -ef | grep [process name]

دستورات خط فرمان – ۱۱

۲۸ مرداد ۱۳۹۰ بدون دیدگاه

سلام
برای تولید کلمه عبور تصادفی در خط فرمان کافیه بزنید:


$ openssl rand -base64 9

و یا :


$ cat /dev/urandom | base64 | cut -c1-9 | head -1

یادآوری میکنم که تو هر دو دستور عدد ۹، طول رمز عبوره و با تغییر اون میتونید به طول مورد نظر خودتون برسید…

دستورات خط فرمان – ۱۰

۲۸ مرداد ۱۳۹۰ ۲ دیدگاه

سلام
اگه می خواید خیلی راحت و بدون تایپ help–، راهنمای دستور رو ببنید کافیه بعد از دستور بزنید:


$ COMMAND ctrl+o

دستورات خط فرمان – ۹

۲۰ مرداد ۱۳۹۰ بدون دیدگاه

سلام
برای دیدن مقدار اجرا شده از عملی در حال اجرا که نوار پیشرفت نداره می تونید از دستور pv استفاده کنید…
برای مثال استفاده در کپی فایل:


$ pv source.file > destination.file

ویا:


$ dd if=input.file |pv |dd of=output.file

پ.ن: نوار پیشرفت = progress bar

نقدی بر اختتامیه نخستین جشنواره وبلاگ نویسی گرگان!!

۲۷ تیر ۱۳۹۰ ۱۱ دیدگاه

سلام
تو سالن همایش نشسته بودم و گفتم که همایش وبلاگ نویسان باشه و منم یه وبلاگ نویس باشم و تو همایش شرکت کرده باشم و وبلاگم رو بروز نکنم رسم جوانمردی نیست. پس می نویسم…
نقدی بر اختتامیه نخستین جشنواره وبلاگ نویسی گرگان!!
نکته اول: اولین مطلب اینه که این جشنواره از کجا اومد! من که تقریبا ۴ تا ۶ ساعت در روز رو تو دنیای وب میچرخم تقریبا تبلیغ یا اطلاع رسانی‌ای رو در مورد این جشنواره ندیدم. البته میشه گفت که مهم ترین سامانه جهت اطلاع رسانی در مورد این جشنواره فیسبوک بود!!! با توجه به اینکه رسما و قانوناً نمیشه به فیسبوک دسترسی داشت پس میشه نتیجه گرفت که این جشنواره از ابتدا با نوعی قانون شکنی همراه بوده.
نکته دوم: با توجه به اینکه من در جریانات کامل جشنواره نیستم پس در مورد سایر موارد جشنواره اعم از داروی و… سخن سرایی نمی کنم.
نکته سوم: اختتامیه!! که چه عرض کنم! تبلیغات برگزار کنندگان بود! مدام یه اسلاید رو صفحه تکرار میشد که تک تک صفحاتش معرفی نامه پشتیبانان جشنواره بود. من نمیدونم آخه مجبورید بودجه شهرداری و شورای شهر رو این شکلی مصرف کنید! همه خیابون ها رو که پر از تابلوهای تبلیغاتی کردین!! بس نیست؟؟!!
نکته پنجم: محل برگزاری!! کمی دور از شهر…! کمی زیادی داخل سالن گرم… من که عادت ندارم تو این جور برنامه ها خودم رو باد بزنم اما تقریبا نصف سالن مشغول باد زدن خودشون بودن.
نکته ششم: برندگان! اینکه چرا آقای «الف» یا خانم «ب» و «ج» برنده شدن مشخص نشد! بهتر بود میگفتید که بخاطر کدوم پست برنده شدن!! یا لااقل آدرس وبلاگ برندگان رو می گفتید تا ما خودمون بریم ببینیم چی نوشتن…!
نکته هفتم: نکته که تا دلتون بخواد بود اما تا همینجا بسه…
پی نوشت۱: هرکسی از دوستان و برگزار کنندگان جشنواره اعتراضی به این نقد داره با گوش جان یوش میکنم;)
پی نوست۲: این مطلب همزمان با مراسم اهدای جوایز در سالن برگزاری همایش توسط اینترنت مزخرف سالن نوشته شد.

نصب تاندربیرد ۵ روی اوپن سوزه ۱۱.۴

۱۰ تیر ۱۳۹۰ بدون دیدگاه

سلام
چند روزی میشه که بنیاد موزیلا نسخه ۵ نرم افزار ایمیل خوان تاندربیرد رو منتشر کرده! دوستانی که از اوپن سوزه ۱۱.۴ بهره میبرن و میخوان از این نسخه استفاده کنن میتونن از این راهنما کمک بگیرن:
مراحل کار کاملا شبیه به نصب نسخه ۵ مرورگر فایرفاکس‌ه…
۱- اضافه کردن مخزن موزیلا:


# zypper ar http://download.opensuse.org/repositories/mozilla/openSUSE_11.4/ mozilla

البته اگه مخزن موزیلا رو قبلا اضافه کردین نیازی به این کار نیست!
۲- به روز رسانی لیست مخازن:


# zypper ref

۳- نصب تاندربیرد ۵:


# zypper in MozillaThunderbird-5.0

و تمام! البته حدود ۱۴ مگ دانلود داره که طبیعتا نیاز به اینترنت دارید…

نصب فایرفاکس ۵ روی اوپن سوزه ۱۱.۴

۶ تیر ۱۳۹۰ ۶ دیدگاه

سلام
با توجه به اینکه فایرفاکس ۵ منتشر شده و بنیاد موزیلا ظاهرا قصد پشتیبانی از نسخه قبلی رو نداره پس لازم به نظر میرسه که کاربران محترم به نسخه ۵ به روز رسانی کنن! و اما مراحل:
۱- اضافه کردن مخزن موزیلا:


# zypper ar http://download.opensuse.org/repositories/mozilla/openSUSE_11.4/ mozilla

البته اگه مخزن موزیلا رو قبلا اضافه کردین نیازی به این کار نیست!
۲- به روز رسانی لیست مخازن:


# zypper ref

۳- نصب فایرفاکس ۵:


# zypper in MozillaFirefox-5.0

بعد از این مرحله سه تا سوال میپرسه و به هر سه مورد جواب


۱

بدید و بعد از کمی دانلود از آخرین نسخه فایرفاکس لذت ببرید… ;)

دستورات خط فرمان – ۸

۳ تیر ۱۳۹۰ ۱ دیدگاه

سلام
برای نمایش آخرین فایل یا مسیری که تغییر کرده بزنید:


$ ls -t1 | head -n1

دستورات خط فرمان – ۷

۲۷ خرداد ۱۳۹۰ بدون دیدگاه

سلام
برای اینکه بدونید چه کاربرانی رو کدام ورودی ها وارد شدن بزنید:


$ w