سلام دوستان
در پست قبلی تلاش کردم اوقات شرعی را از سایت آوینی دات کام بااستفاده از conky در میزکارم نمایش بدهم. دو قدم اول این کار را انجام دادم .بعد از کمی جستجو تونستم در طی این مراحل این کار رو انجام دهم. در ضمن دوستان می توانند از نرم افزار starcalender که توسط آقای سعید رسولی توسعه داده می شود استفاده نمایند که علاوه بر تقویم فارسی، امکان محاسبه و نمایش آفلاین اوقات شرعی هر شهر را هم ارائه می کند.
مرحله اول را به این صورت اصلاح کردم.
wget -O ~/.conky/aviny2.txt http://prayer.aviny.com/city_time.aspx?Code=1001
مرحله دوم را اصلاح و بعد از جستجوی کلمه « امروز » فایل متنی مرحله اول آن را به خطوطی با طول 25 کاراکتر تقسیم کردم.
grep امروز ~/.conky/aviny2.txt | fmt -w 25 > ~/.conky/oghat.txt
بعد از بررسی فایل متنی بدست آمده اوقات موردنظرم در خطوط 9،11،13،15،17،19 قرار داشت.
مننتبا بررسی فایل بدست آمده، ساعات اوقات درخطوط مذکور در فواصل بین کاراکترهای 20 الی 29 قرار دارد. با استفاده از دستورات زیر ساعت ها را از خطوط جدا و در یک فایل جداگانه ذخیره می کنم.
head -n 9 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azansob.txt
head -n 11 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/toloh.txt
head -n 13 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azanzohr.txt
head -n 15 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/ghorob.txt
head -n 17 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azanmaghreb.txt
head -n 19 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/nimehshab.txt
در اینجا در پوشه .conky، شش فایل متنی جدید که فقط شامل ساعت است ایجاد می شود..
در مرحله بعد خطوط زیر را به انتهای فایل .conkyrc که درپوشه خانگی قرار دارد.
${font caviar dreams:size=10}${color FF4D00}${alignr}AzanSobh: ${exec cat ~/.conky/azansob.txt} ${font caviar dreams:size=10}${color FF4D00}${alignr}Toloh: ${exec cat ~/.conky/toloh.txt} ${font caviar dreams:size=10}${color FF4D00}${alignr}AzanZohr: ${exec cat ~/.conky/azanzohr.txt} ${font caviar dreams:size=10}${color FF4D00}${alignr}Ghorob: ${exec cat ~/.conky/ghorob.txt} ${font caviar dreams:size=10}${color FF4D00}${alignr}AzanMaghreb: ${exec cat ~/.conky/azanmaghreb.txt} ${font caviar dreams:size=10}${color FF4D00}${alignr}NimeShab: ${exec cat ~/.conky/nimehshab.txt}
در نهایت خروجی زیر را بر روی دسکتاپ خواهیم داشت.
برای اینکه هر روز اوقات شرعی با سایت بروز شود. مراحل بالا را بصورت اسکریپ نوشتم و خط زیر را به crontab اضافه کردم که استفاده از cron هر روز یکبار اجرا می شود.
#!/bin/bash #aviny prayer time wget -O ~/.conky/aviny2.txt http://prayer.aviny.com/city_time.aspx?Code=1001 grep امروز ~/.conky/aviny2.txt | fmt -w 25 > ~/.conky/oghat.txt head -n 9 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azansob.txt head -n 11 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/toloh.txt head -n 13 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azanzohr.txt head -n 15 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/ghorob.txt head -n 17 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/azanmaghreb.txt head -n 19 ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/nimehshab.txt
2 2 * * * sh ~/.conky/oghat.sh
پ.ن: من نتوستم توی فایل اسکریپت از حلقه استفاده کنم، ممنون میشم دوستان راهنمایی ام کنند.
دیدگاهها (۱)
احمد کریمی
۲۰ آذر ۹۲ ، ۰۷:۱۶
#aviny prayer time
wget -O ~/.conky/aviny2.txt http://prayer.aviny.com/city_time.aspx?Code=1001
grep امروز ~/.conky/aviny2.txt | fmt -w 25 > ~/.conky/oghat.txt
declare -a myarray
myarray=(azansob toloh azanzohr ghorob azanmaghreb nimehshab)
let j=9
for i in {0..5};
do
head -n $j ~/oghat.txt |tail -n 1 | colrm 1 20 | colrm 9 25 > ~/.conky/${myarray[$i]}.txt
let j+=2
done
پاسخ:
۲۰ آذر ۹۲، ۱۳:۴۵
ممنونم آقای کریمی