Academy and Foundation unixmens | Your skills, Your future
2.28K subscribers
6.65K photos
1.36K videos
1.23K files
5.99K links
@unixmens_support
@yashar_esm
[email protected]
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
پرل به عنوان یك زبان قابل حمل

جالب است بدانید نرم افزاری كه شما تحت سیستم عامل LINUX و یا MAC نوشته اید به طور قطع روی سیستم عامل WINDOWS و UNIX هم اجرا میشود. مفسر پرل متن برنامه را خوانده و هم‌زمان تفسیر کرده و اجرا می کند . در حال حاضر پرل را در بیش از 40 سیستم عامل میتوان بكار گرفت و كتابخانه CPAN بیش از ۱۱۰۰۰ مازول را با كد منبع در اختیار تان می گذارد كه روزانه به این تعداد افزوده میشود.

● پرل و برنامه های ۳ بعدی

گستره استفاده پرل به عنوان زبانی برای ایجاد برنامه های ۳ بعدی تا حدی است كه تا چندی پیش متخصصین Graphcomp در تستی زبان C و PERL را برای اجرای برنامه ۳ بعدی بر روی ۳ سیستم عامل متفاوت : VISTA , UBUNTU , FEDORA با سخت افزار یكسان به كار گرفتند. در این میان پرل توانست با استفاده بهینه از منابع سیستم برتری خود را در این زمینه اثبات كند . نتایج تست Graphcomp : https://graphcomp.com/pogl.cgi?v=۰۱۱۱s۳m۳

● پرل و CGI

با پا به عرصه گذاشتن CGI به صفحات وب زبان پرل به خاطر قدرت بالا در پردازش متن و تطبیق الگو (Regular Expressions) در جمله زبانهایی قرار گرفت كه بطور وسیعی برای نوشتن CGI بكار گرفته میشود . در این میان وب سایت های پر ترافیك مانند :Livejournal.com, Ticketmaster.com Amzon.com , IMDB.com, از زبان پرل استفاده میكنند.

● پرل و شبكه

به خاطر قدرت بسیار پرل درزمینه برنامه نویسی سیستمهای شبكه بسیاری از متخصصین شبكه و هكرها از این قافله عقب نمانده و امروزه شاهد این هستیم كه بسیاری از برنامه های : مدیریت شبكه , سیستم های Spidering , و Exploite ها به زبان پرل نوشته میشود.

● پرل به عنوان یك زبان چسبنده (Glue Language)

پرل به عنوان یك زبان چسبنده می تواند در زبان های دیگر مورد استفاده قرار گیرد . یكی از جالبترین نكات یك برنامه مكمل پرل به نام VisualPerl هست كه به بسته NET. مایكروسافت میچسبد و شما در كنار ASP.NET میتونید با پرل نیز یرنامه نویسی كنید. به طور مثال می توانید در برنامه های .NET از پرل برای پردازش متن ویا هر چیز دیگری استفاده كنید این قابلیت تنها به .NET محدود نمیشود و پرل را می توان در دیگر زبان های برنامه نویسی بدون در نظر گرفتن پلتفرم ان استفاده كنید .

● حرف آخر

نكته ای كه باعث محبوبیت زبان پرل در میان برنامه نویسان شده است رایگان و اپن سورس بودن این زبان میباشد می‌توانید متن آن را به رایگان از اینترنت دریافت و در توسعه آن همکاری کنید
#perl #پرل @unixmens
Forwarded from کانال رسمی سازمان مدیریت صنعتی آذربایجان شرقی (سازمان مدیریت صنعتی آذربایجان شرقی)
❇️هفدهمین نشست تخصصی خانه مدیران

♨️♨️ نگرش سیستمی ♨️♨️

🔷سخنران :پروفسور بیژن خرم

🔷زمان برگزاری: پنج شنبه 14 دی ماه ساعت 11
📞: 041 33297646

🆔: @imiazar
برنامه i-next اطلاعات کاملی از قطعات اصلی سیستم به شما می دهد. این برنامه در مخازن موجود می باشد می توانید هر مشخصاتی که می خواهید راجع به سیستم خود بدانید را از طریق این برنامه به دست بیاورید، چرا که از ریزترین جزئیات تا اطلاعات عمومی مربوط به قطعه مورد نظر در این نرم افزار نمایان می شود. فرض کنید می خواهید اطلاعاتی راجع به سی پی یو با این برنامه دریافت کنید، این برنامه مشخصاتی همچون تولید کننده و مدل سی پی یو، استپ هسته و پردازشگر، سرعت های داخلی و خارجی، ضریب سرعت هسته، و امکانات پشتیبانی شده توسط پردازشگر را به شما نشان می دهد.
این نرم افزار قابلیت شناسایی ولتاژ هسته سی پی یو، پهنای باند L2 و تایمینگ رم را نیز دارا می باشد.

امکانات نرم افزار i-next
– نشان دهنده اطلاعات کامل سیستمی و مشخصات رم، سی پی یو و مین بورد
– نمایش اطلاعاتی نظیر فرکانس، تایمینگ، سریال، و مدل برای رم سیستم
– نمایش اطلاعاتی همچون ورژن بایوس، تولید کننده و نوع تراشه شمالی و جنوبی، و همچنین اطلاعات سنسور برای مادربورد
– نمایش اطلاعات کامل ریز و درشت سی پی یو نصب شده بر روی سیستم شما
و …
#hardware #info @unixmens
کانالی در حوزه اپن سورس ، گنو/لینوکس ، امنیت و ... دوست داشتین عضو بشین یا به دیگران معرفی کنید
@unixmens
5 تهدید امنیتی تلفن همراه که باید در سال 2018 جدی بگیرید


این روزها امنیت تلفن همراه یکی از بزرگ‌ترین نگرانی‌های هر شرکتی می‌باشد و دلیل خوبی برای این مسأله وجود دارد: تقریباً تمام کارکنان با استفاده از تلفن‌های هوشمند خود به داده‌های شرکت دسترسی دارند و این به این معناست که دور نگه داشتن اطلاعات حساس، از افراد اشتباه، به یک معمای بسیار پیچیده تبدیل شده است. بر اساس گزارش منتشر شده توسط Ponemon Institute در سال 2016، هزینه متوسط نقض داده‌های شرکتی به صورت روزانه 21.155 دلار می‌باشد.

در حالی که تمرکز بر روی موضوع حساس بدافزارها ساده است، حقیقت این است که در دنیای واقعی، نفوذ به‌واسطه بدافزارهای تلفن همراه بسیار غیرمتداول است. بر مبنای یک تخمین، احتمال آلودگی شما به مراتب کمتر از احتمال برق گرفتگی توسط رعد و برق است. این مسأله به لطف ماهیت بدافزارهای تلفن همراه و حفاظت ذاتی تعبیه‌شده درون سیستم‎عامل‌های تلفن همراه است.

انتظار می‌رود مخاطرات امنیت موبایل، که در برخی حوزه‌ها به سادگی نادیده گرفته می‌شوند، در سال آینده به‌شدت افزایش یابد:

1. نشت داده‌ها

با ورود به سال 2018، مشاهده می‌شود که نشت داده، به یکی از نگران‌کننده ترین تهدیدات برای امنیت شرکت‌ها تبدیل شود. آن‌چه این معضل را حادتر می‌کند، این است که این معضل غالباً ماهیت بدی ندارد؛ در عوض، این کاربران هستند که با تصمیمات اشتباه خود، در رابطه با اینکه چه برنامه‌هایی قادر به مشاهده و انتقال اطلاعاتشان باشند، باعث بدتر شدن این معضل می‌شوند.

به گفته Dionisio Zumerle، مدیر تحقیقات امنیت موبایل در گارتنر، «چالش اصلی چگونگی پیاده‌سازی فرآیند بررسی برنامه است، به‌گونه‌ای که مدیر را سرکوب نکرده و کاربران را مختل نکند.» وی پیشنهاد داد از راه‌حل‌های محافظت در برابر تهدیدات موبایل (MTD) استفاده شود. محصولاتی مانند Symantec's Endpoint Protection Mobile، CheckPoint's SandBlast Mobile، و Zimperium's zIPS Protection. وی ادامه داد، «چنین ابزارهایی برنامه‌ها را برای «رفتار نشت‌کننده» پویش می‌کنند و می‌توانند مسدود کردن فرآیندهای مشکل‌ساز را به‌صورت خودکار انجام دهند.»

البته، حتی این روش نیز همیشه نمی‌تواند نشتی‌هایی که ناشی از خطای کاربر است را پوشش دهد. چیزی به سادگی انتقال فایل‌های شرکت روی یک خدمت عمومی ذخیره‌سازی ابر، الحاق اعتبارات در یک مکان اشتباه، یا فوروارد کردن ایمیل به یک فرستنده ناخواسته. این چالشی است که صنعت مراقبت بهداشت در حال حاضر تلاش دارد بر آن غلبه کند: به گفته فراهم‌آورنده بیمه متخصصان، با نام Beazley، «افشای ناخواسته» مسئول 41 درصد از نقض‌های داده گزارش شده توسط سازمان‌های مراقبت بهداشت است، که در 3 فصل اول سال 2017 گزارش شده است. بیش از دو برابر بالاترین علت بعدی.

برای این نوع نشت، ابزارهای جلوگیری از اتلاف داده (DLP) ممکن است مؤثرترین نوع حفاظت باشند. چنین ابزارهایی طراحی شدند تا از فاش شدن اطلاعات حساس، از جمله در سناریوهای تصادفی جلوگیری کنند.

2. مهندسی اجتماعی

تاکتیک سعی و خطا همان اندازه بر روی تلفن‌های همراه مشکل‌ساز است که بر روی دسکتاپ‌ها. علی‌رغم سهولت مهندسی اجتماعی، که این تفکر را به ‌وجود می‌آورد که می‌توان از معایب آن چشم‌پوشی کرد، اما همچنان به‌طور شگفت‌آوری مؤثر است.

بر مبنای گزارش Data Breach Investigations Report، در سال 2017، 90 درصد نقض داده‌ها که توسط Verizon's Enterprise Solutions مشاهده شده، در اثر فیشینگ می‌باشد. به گفته Verizon's Enterprise Solutions، تنها 7 درصد کاربران در تلاش‌های فیشینگ با شکست مواجه می‌شوند، اما سایرین آنقدر تلاش می‌کنند تا سرانجام موفق شوند: طبق تخمین شرکت، در یک سازمان نوعی، 15 درصد کاربرانی که حداقل یک بار مورد حملات فیشینگ موفق قرار گرفته‌اند، حداقل یک بار دیگر در همان سال با چنین حمله‌ای مواجه می‌شوند.

علاوه بر این، تعداد زیادی از محققان بر این باورند که کاربران دستگاه‌های موبایل، در مقایسه با کاربران دسکتاپ‌ها، در مقابل حملات فیشینگ آسیب‌پذیرتر هستند. بر مبنای مطالعات IBM، تقریباً 3 برابر بیشتر، بخشی از آن می‌تواند به این دلیل باشد که احتمالاً افراد ابتدا یک پیام را بر روی تلفن همراه خود مشاهده می‌کنند. به گفته John "Lex" Robinson، متخصص استراتژی‌های ضدفیشینگ و امنیت اطلاعات در PhishMe ، شرکتی که با استفاده از شبیه‌سازی‌های دنیای واقعی به کارکنان در شناسایی و پاسخ به تلاش‌های فیشینگ آموزش می‌دهد، «ما شاهد پیشرفت کلی در حساسیت تلفن‌های همراه هستیم، که در اثر افزایش سراسری محاسبات موبایل و رشد مستمر محیط‌های کاری BYOD ایجاد می‌شود.»
Robinson یادآور می‌شود که مرز بین محاسبات کاری و شخصی به‌مرور شفاف‌تر خواهد شد. وی اشاره کرد، کارکنان بیشتری به‌طور همزمان در حال مشاهده چندین صندوق ورودی بر روی یک تلفن هوشمند هستند – متصل به ترکیبی از حساب‌های کاربری شخصی و کاری – و تقریباً همه آن‌ها در طول روز به نوعی کارهای شخصی برخط خود را انجام می‌دهند. در نتیجه، تصور دریافت یک رایانامه ظاهراً شخصی در کنار پیام‌های مربوط به کار، به‌هیچ وجه غیر معمول به نظر نمی‌رسد، حتی اگر در واقعیت یک فریب باشد.

3. تداخل Wi-Fi

امنیت یک دستگاه تلفن همراه به اندازه امنیت شبکه‌ای است که از طریق آن داده‌هایش را انتقال می‌دهد. در عصری که همه ما دائماً به شبکه‌های Wi-Fi عمومی متصل می‌شویم، اطلاعات اغلب به اندازه‌ای که ما تصور می‌کنیم امنیت ندارند.

این نگرانی چقدر اهمیت دارد؟ بر مبنای تحقیق جدیدی که این هفته توسط شرکت امنیتی Wandera منتشر شده، دستگاه‌های تلفن همراه شرکت‌ها تقریباً سه برابر استفاده از داده‌های سلولی، از Wi-Fi استفاده می‌کنند. تقریباً 4/1 دستگاه‌ها به شبکه‌های Wi-Fi باز و به‌طور بالقوه ناامن متصل می‌شوند، و در ماه جاری، 4 درصد دستگاه‌ها با حمله مردی در میانه - که در آن یک نفر با اهداف خرابکارانه ارتباط میان دو نفر را قطع می‌کند - مواجه می‌شوند.

به گفته Kevin Du، استاد علوم کامپیوتر در دانشگاه Syracuse University، که در حوزه امنیت تلفن‌های هوشمند تخصص دارد، «این روزها رمزنگاری ترافیک کار دشواری نیست. چنانچه شما VPN ندارید، درهای زیادی را پیرامون خود باز می‌گذارید.»

اگرچه، انتخاب VPN دارای کلاس تجاری مناسب، کار راحتی نیست. مشابه اکثر ملاحظات امنیتی، همیشه حفظ توازن ضروری است. به گفته Zumerle، مدیر تحقیقات امنیت موبایل در گارتنر، «تحویل VPNها باید با دستگاه‌های تلفن همراه، هوشمندانه‌تر باشد، چرا که کاهش مصرف منابع – به‌ویژه باتری – حائز اهمیت است». وی افزود: یک VPN کارآمد بایستی بداند فقط در زمان‌های کاملاً ضروری فعال شود، نه مثلاً زمانی که کاربر به یک سایت خبری دسترسی پیدا می‌کند یا زمانی که کاربر در حال کار با یک برنامه قابل اعتماد و ایمن است.



4. دستگاه‌های تاریخ‌گذشته

تلفن‌های هوشمند، تبلت‌ها و دستگاه‌های متصل کوچک‌تر – که عموماً با عنوان اینترنت اشیا (IOT) شناخته می‌شوند – خطر جدیدی برای امنیت سازمان‌ها ایجاد می‌کنند، چرا که بر خلاف دستگاه‌های سنتی، عموماً تضمینی برای به‌روزرسانی‌های مستمر و به‌هنگام ندارند. این مسأله به‌ویژه برای دستگاه‌های اندرویدی صادق است، چرا که اکثر تولیدکنندگان به‌طور شرم‌آوری در به‌روز نگه داشتن محصولاتشان ناکارآمد هستند – هم در به‌روزرسانی‌های سیستم‌عامل و هم وصله‌های امنیتی کوچک‌تری که ماهانه ارائه می‌شود. همچنین در مورد دستگاه‌های اینترنت اشیاء، بسیاری از آن‌ها به‌گونه‌ای طراحی شدند که اصلا قابلیت به‌روزرسانی ندارند.

به گفته Du، «بسیاری از آن‌ها حتی مکانیزم وصله تعبیه‌شده ندارند، و این مسأله روز‌ به‌ روز به تهدید بزرگ‌تری تبدیل می‌شود.»

یک سیاست قوی کفایت می‌کند. دستگاه‌های اندرویدی وجود دارند که به‌روزرسانی‌های قابل اعتماد و به‌هنگام را به‌صورت مستمر دریافت می‌کنند. تا زمانی که چشم‌انداز اینترنت اشیاء دارای قوانین درستی نباشد، با شکست مواجه می‌شود، مگر اینکه شرکت‌ها شبکه امنیتی خود را پیرامون آن ایجاد کنند.

5. نقض‌های دستگاه فیزیکی

آخرین مورد، که البته نباید کم‌اهمیت قلمداد شود، ظاهراً احمقانه به‌نظر می‌رسد، اما یک تهدید واقعا مخرب است: یک دستگاه گم‌شده یا مراقبت‌نشده، می‌تواند یک خطر امنیتی بزرگ باشد، به‌خصوص اگر یک پین یا کلمه عبور قوی نداشته باشد یا داده‌های آن کاملا رمزنگاری نشده باشد.

آن‌چه در ادامه آمده در نظر بگیرید: در یک مطالعه انجام‌شده توسط Ponemon Institute در سال 2016، 35 درصد از متخصصان نشان دادند که دستگاه‌های کاری آن‌ها هیچ معیار مجازی برای ایمن‌سازی داده‌های شرکتیِ در دسترس ندارد. از این بدتر، تقریباً نیمی از افرادی که مورد مطالعه قرار گرفتند، عنوان کردند که برای حفاظت از امنیت دستگاه‌هایشان هیچ پین، کلمه عبور یا بیومتریکی ندارند و تقریباً 3/2 آن‌ها گفتند از رمزنگاری استفاده نکرده‌اند. 68 درصد شرکت‌کنندگان عنوان کردند که گاهی کلمات عبور را میان حساب‌های کاری و شخصی خود که از طریق دستگاه موبایل به آن‌ها دسترسی دارند، به اشتراک می‌گذارند.

اصل پیام ساده است: سپردن مسوولیت به کاربران کافی نیست. با فرضیات ادامه ندهید، سیاست‌گذاری کنید. بعدها از خود تشکر خواهید کرد.
آدرس اینترنتی خبر https://www.csoonline.com/article/3241727/mobile-security/5-mobile-security-threats-you-should-take-seriously-in-2018.html
#security #mobile @unixmens
🎯 #فرصت_شغلی:‌
شرکت مپفا دعوت به همکاری می نماید:

🔻کارشناس لینوکس:

▫️تسلط به سیستم عامل هاي لینوکس در حد LPIC2
▫️حداقل 2 سال سابقه کار به عنوان Linux SysAdmin
▫️تسلط به زبان های scripting مانند (bash - python - perl و …)
▫️تسلط به مدیریت سرویس و لاگینگ (systemd - journald - sys V init)
▫️ تسلط بر مفاهیم networking
▫️ اشنا به مفاهیم software raid و volume mangement
▫️اشنا به مجازي سازي‌(esxi و kvm)
▫️اشنایی به RDBMS و NOSQL
▫️ آشنایی با ابزارهای مانیتورینگ مانند zabbix ، cacti و ...
▫️ارائه گزارشات دوره‌ای به مدیر پشتیبانی
▫️دارای روحیه کار تیمی
▫️روابط عمومی خوب
▫️متعهد و مسئولیت‌پذیری بالا
▫️یادگیری فعال
▫️تسلط کافی در کار با کامپیوتر و نرم افزارهای مربوطه
▫️دقت و توجه به جزئیات
▫️توان حل مساله
▫️توان تصمیم گیری به موقع و درست
▫️مهارت آموزش دادن به دیگران
▫️مهارت‌های ارتباطی مناسب
▫️داشتن کارت پایان خدمت
لطفا رزومه ی خود را به آدرس [email protected] ارسال نمایید.
نشانی: ملاصدرا، خیابان شیرازی جنوبی، خیابان گرمسار غربی، خیابان مفتاح، پلاک ۸۴، واحد ۱۰
تلفن: ۸۸۶۲۶۸۲۰
#jobs #linux @unixmens
بهتر است در مورد زبان قدرتمند awk صحبت کنیم :‌
در واقع AWK یک زبان برنامه‌نویسی مفسری است که برای پردازش متن طراحی شده و عموماً به عنوان ابزاری برای گزارش‌گیری و استخراج داده‌ها مورد استفاده قرار می‌گیرد. این زبان برنامه‌نویسی، تبدیل به یکی از ویژگی‌های استاندارد در سیستم‌عامل‌های خانواده یونیکس شده است.

زبان AWK در دهه ۱۹۷۰ در آزمایش‌گاه‌های بل طراحی شد. نام این زبان از نام خانوادگی طراحان آن Alfred Aho, Peter Weinberger, و Brian Kernighan گرفته شده است. سرواژه AWK در زبان انگلیسی، عمدتاً مشابه نام پرنده auk تلفظ می‌شود، که تصویری از این پرنده بر روی جلد کتاب زبان برنامه‌نویسی AWK استفاده شده است، هرچند که AWK به صورت مجزا و حرف‌به‌حرف هم تلفظ می‌شود.

زبان برنامه‌نویسی AWK یک زبان اسکریپتی داده‌محور است؛ این زبان عموماً از یکسری دوجفتی الگو (pattern) و عمل (action) تشکیل می‌شود که قرار است بر روی یکسری داده‌های متنی اجرا شود؛ که این داده‌های متنی یا از فایل‌های عادی خوانده می‌شوند، یا اینکه از طریق خط لوله بدست می‌آیند. به کمک AWK می‌توان اطلاعاتی را از این داده‌های متنی استخراج کرد یا اینکه گزارش‌هایی قالب‌بندی‌شده از آنها تهیه کرد. این زبان به طور گسترده‌ای از نوع‌داده string (رشته)، آرایه‌های انجمنی (آرایه‌ای که با کلیدرشته اندیس‌گزاری می‌شود) و عبارات باقاعده استفاده می‌کند. در حالی که دامنه استفاده محدودی برای زبان AWK در نظر گرفته شده، و این زبان خصوصاً برای نوشتن برنامه‌های یک‌خطی طراحی شده، AWK یک زبان Turing-complete است و حتی کاربران اولیه AWK در آزمایش‌گاه‌های بل نیز برنامه‌های بزرگ با ساختاربندی خوب به زبان AWK می‌نوشتند.
زبان برنامه‌نویسی AWK در ابتدا در سال ۱۹۷۷ توسط Alfred Aho, Peter Weinberger, و Brian Kernighan ساخته شد. نام این زبان از حرف اول نام خانوادگی تولیدکنندگانش گرفته شده است. امروزه AWK یکی از ابزارهای الزامی در استاندارد Single UNIX Specification است و استاندارد Linux Standard Base هم آن را الزامی کرده است.

زبان AWK در طی سال‌های ۱۹۸۵–۱۹۸۸ به طور گسترده‌ای گسترش یافت و نتیجهٔ این گسترش پیاده‌سازی GNU AWK بود که توسط Paul Rubin, Jay Fenlason, و Richard Stallman نوشته‌شده بود و در سال ۱۹۸۸ منتشر شد. کدهای منبع nawk که توسط برایان کرنیگان نوشته شده بود، در ابتدا در سال ۱۹۹۳ به صورت غیرعمومی و سپس در اواخر دهه ۱۹۹۰ به صورت عمومی منتشر شد. بسیاری از سیستم‌های BSD برای پرهیز از مجوز GPL از این پیاده‌سازی استفاده می‌کنند.

زبان AWK پس از دستور sed (سال ۱۹۷۴) درست شد. هر دو این ابزارها برای پردازش متن درست شده‌اند. هر دو آنها پارادیم داده‌محور و خط‌گرا دارند و عموماً برای نوشتن برنامه‌های یک‌خطی مناسب هستند. قدرت و ایجازی که برنامه‌های AWK داشتند، خصوصاً قدرت آن در اداره‌کردن عبارات باقاعده و عدم نیاز به تعریف صریح متغیرها — که نوشتن برنامه‌های یک‌خطی را تسهیل می‌کرد— در کنار محدودیت‌هایی که AWK در آن زمان‌ها داشت، از جمله مهمترین دلایلی بودند که الهام‌دهندهٔ لری وال برای ساخت زبان برنامه‌نویسی پرل (۱۹۸۷) شدند. در دهه ۱۹۹۰، پرل بسیار محبوب شد، و در زمره زبان‌های پردازش متن، از جمله رقیبان AWK بود.
ساختار برنامه‌های AWK

«زبان AWK زبانی برای پردازش فایل‌های متنی است. به یک فایل، همانند دنباله‌ای از رکوردها نگریسته می‌شود که به صورت پیشفرض هر خط یک رکورد را تشکیل می‌دهد. هر خط به دنباله‌ای از فیلدها شکسته می‌شود، پس بنابراین ما می‌توانیم با استفاده از اولین فیلد، به اولین کلمه از یک خط دسترسی داشته باشیم، دومین فیلد حاوی دومین کلمه از آن خط خواهد بود و به همین ترتیب. یک برنامه AWK دنباله‌ای از دوجفتی‌های الگو-عمل است. AWK در هر بار، یک خط را از ورودی می‌خواند. سپس AWK به ترتیب تمامی الگوهای موجود در برنامه را بر روی آن خط امتحان می‌کند تا ببیند که آیا آن الگوها در آن خط وجود دارند یا نه. هر وقت که الگویی پیدا شد که با آن خط تطابق داشت، عمل مربوط به آن الگو اجرا خواهد شد.»

یک برنامهٔ AWK از یکسری دوجفتی الگو-عمل تشکیل می‌شود که به این صورت نوشته می‌شوند.

condition { action }
که در کد بالا، بخش condition یک عبارت است و بخش action هم دنباله‌ای از دستورها است. فایل ورودی به یکسری رکورد شکسته می‌شود. به طور پیشفرض، رکوردها با استفاده از کاراکتر newline از هم مجزا می‌شوند، بنابراین، فایل ورودی بر اساس خطوط موجود در آن تقسیم‌بندی می‌شود. برنامه به نوبت هر عبارتی که در بخش condition نوشته شده را بر روی رکورد فعلی آزمایش می‌کند، در صورتی که هر کدام از آن عبارات با رکورد فعلی تطابق داشت، بخش action مربوط به آن عبارت اجرا می‌شود. یکی از بخش‌های condition یا action را می‌توان ننوشت، اما حداقل یکی از آنها باید نوشته شود. رفتار پیشفرض برای conditionای که نوشته نشده این است که فرض می‌شود آن condition با تمام خطوط تطابق دارد. در صورتی که از نوشتن بخش action صرف نظر شود، به صورت پیشفرض این طور تصور می‌شود که قصد برنامه‌نویس چاپ کردن رکورد فعلی بوده است.

بخش condition علاوه بر اینکه می‌تواند شامل عبارت‌های ساده‌ای همچون foo == ۱ یا /^foo/ باشد، می‌تواند کلمات مخصوصی همچون BEGIN یا END هم باشد. در مورد BEGIN، بخش action متناظر پیش از خوانده‌شدن اولین رکورد اجرا می‌شود، و در مورد END، بخش action متناظر، پس از خوانده‌شدن آخرین رکورد اجرا می‌شود. بخش condition همچنین می‌تواند به صورت pattern1, pattern2 باشد که در این صورت، بخش action متناظر بر روی محدوده‌ای از خطوط اجرا می‌شود که شروع این محدوده اولین خطی است که حاوی pattern1 است و پایان این محدوده هم خطی است که حاوی pattern2 است.

عبارات AWK علاوه بر اینکه می‌توانند حاوی عملگرهای منطقی و محاسباتی عادی باشند، می‌توانند حاوی عملگر تیلد tilde هم باشند (~) که این عملگر، یک عبارت باقاعده را بر روی یک رشته آزمایش می‌کند. به جای استفاده از این عملگر همچنین می‌توان از سینتکس /regexp/ استفاده کرد. این سینتکس از sed گرفته شده است که sed هم آنرا از ویرایشگر ed گرفته است که در این ویرایشگر از کاراکتر / برای جستجو استفاده می‌شود.
#programming #awk @unixmens
وقتی مهندسان اپل قهوه‌ساز طراحی می‌کنند

بازهم یک دستگاه قهوه‌ساز هوشمند به بازار آمده است. این بار این دستگاه قهوه‌ساز که به یک شبکه‌ی محلی وصل می‌شود، از طریق یک دوربین کوچک کدهای کیو.آر (QR Code) را اسکن می‌کند و شما می‌توانید قهوه‌ی مورد علاقه‌ی خودتان را به دستگاه سفارش بدهید و آن را تحویل بگیرید.
بله درست خواندید. دستگاه قهوه‌ساز «بلاسم وان» (Blossom One) که دارای سیستم کنترلی دقیق است، روی فرکانس رادیویی IEEE ۸۰۱/۱۱۱۱ به مجموعه‌ای از دستورات دم‌آوری قهوه روی شبکه اینترنت متصل است.

دوربین ۱.۳ مگاپیکسلی جلوی این دستگاه کدها را اسکن می‌کند و با بازیابی قهوه مورد نظر، آن را طبق دستوری که شما می‌خواهید، دم می‌کند.
#coffee @unixmens