یافتن یک عبارت در متن فایلها

تا حالا خواستین یه کلمه یا یه جمله رو بدونید تو کدوم فایل شما است بعد یکی یکی فایل ها رو باز کنید و بگردید دنبالش؟! خیلی زمان میگیره. مگه نه؟ خب با این دستور، هر عبارتی رو که بخواید توی هر فایلی براتون جست و جو میکنه. اگه در مسیری باشید که این دستور رو اجرا میکنید میره همون جا رو میگرده.
find -type f -exec grep -H ‘YOUR STATEMENT’ {} \;
اما اگه بخواید در کل کامپیوتر بگرده، اینجوری میشه:
find / -type f -exec grep -H ‘YOUR STATEMENT’ {} \;
میتونید آخرش هم بنویسید > ~/resault.txt که نتایج رو براتون تو یه فایل ذخیره کنه.

خاموش کردن مانیتور بدون دکمه

مانیتور هایی که دکمه ی خاموش و روشن ندارن، مثلا لپ تاپ ها، و نمیدونیم کلید میانبر این کار چیه، در xorg این دستور این کار رو انجام میده:

sleep 1 && xset dpms force off

عدد ۱ یعنی یک ثانیه صبر کن و بعد مانیتورو خاموش کن. بعدش هم با تکون دادن موس یا زدن کلید روی کیبرد، روشن میشه.  میتونید این دستور رو براش یه کلید میانبر shortcut درست کنید و راحت…

اگر دستور بالا کار نکرد این رو امتحان کنید

xset s blank ; sleep 1 ; xset s activate

و اگر در wayland  در Gnome بودید این رو امتحان کنید

busctl --user call org.gnome.Shell /org/gnome/ScreenSaver org.gnome.ScreenSaver SetActive b true

چند کار کاربردی با ffmpeg

همون طور که می‌دونید ffmpeg یکی از کتابخانه های پر استفاده در مدیریت و پخش فایلهای تصویری و صوتی است. ابزارهای گرافیکی مختلفی برای کار با ffmpeg درست شدن، ولی کار با خط فرمان یک چیز دیگه است! 

در این مطلب میخوام چند تا از کارهایی که من با ffmpeg لازم داشتم انجام بدم رو بنویسم. 

جدا کردن یک تکه از ویدیو - بدون re-encode 

ffmpeg  -i input.mp4  -vcodec copy -acodec copy -ss 00:00:10 -to 00:09:05  output.mp4

دستور بالا میگه از ثانیه ۱۰ تا دقیقه ۰۹ و ثانیه ۰۵ کات کن و در یک فایل ذخیره کن. این کار رو هم بدون re-encode کردن ویدیو انجام بده. اگه ویدیوی شما حاوی keyframe باشه (یعنی فریم هایی که موقع ساخت ویدیو بعنوان نقطه عطف تعیین شدن! نمیدونم چطوری توضیح بدم!) موقع کات کردن بدون re-encode زمانی رو که شما تعیین کردید برش انجام بشه رعایت نمیشه و برش از نزدیک ترین keyframe اتفاق می افته. بنابراین دقیق نخواهد بود. ولی اگر ویدیو شما keyframe نداشته باشه، این مشکل پیش نمیاد. 

جدا کردن یک تکه از ویدیو - با re-encode

ffmpeg  -i input.mp4  -ss 00:00:10 -to 00:09:05  -async 1 output.mp4

دستور بالا هم برای کات کردن ویدیو هست. ولی با re-encode. این بار اگه ویدیو keyframe داشته باشه، اول ویدیو رو یک باره دیگه تولید میکنه و keyframe ها رو حذف میکنه و بعد اون رو کات میکنه. این طولانی تر خواهد بود ولی زمان برش دقیقا همان چیزی خواهد بود که شما تعیین کردید. ولی اگر میخواید چند تکه از یک ویدیوی حاوی keyframe رو کات کنید، نیاز نیست هربار re-encode کنید. با دستور زیر یک بار ویدیوی بدون keyframe تحویل بگیرید و عملیات برش رو روی این ویدیو با دستور اولی انجام بدید تا سریع برش ها انجام بشن:

ffmpeg  -i input.mp4  -async 1 output.mp4

ادامه مطلب




حاصل سر و کله زدن های من با لینوکس