یک اسکریپت بش بنویسید که یک فایل CSV با ستون‌های نام، ایمیل و سن را بخواند و تمام ایمیل‌های دارای دامنه example.com را استخراج کرده و در فایل خروجی ذخیره کند.

9.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:17

0.0

برای حل این سوال می‌توانید از ابزارهای ساده شل مثل while read با تنظیم IFS=',' یا از awk/cut/grep استفاده کنید؛ ابتدا هدر را نادیده بگیرید، سپس ستون ایمیل را جدا کرده و با یک الگوی دامنه (مثلاً '@example.com$') فیلتر کنید و خروجی را در فایلی بنویسید. نکات مفید: استفاده از awk برای تفکیک ستون‌ها و فیلتر با شرط، یا grep -E برای تطبیق الگو، و در انتها sort | uniq برای حذف تکراری‌ها و هدایت خروجی به فایل مورد نظر.

توسط پژوهشگر در 201 روز قبل ساعت 03:17
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arman در 201 روز قبل ساعت 06:55

نکته مفید: برای فایل‌های CSV با احتمال وجود کاما در فیلدها بهتر است از یک parser CSV استفاده کنید تا تقسیم ستون‌ها دقیق باشد (مثلاً با awk با FPAT یا ابزار csvkit). در اسکریپت ساده، خط اول را با NR>1 رد کرده و ایمیل در فیلد دوم را به دست آورید و با شرط /@example\.com$/ فیلتر کنید تا ایمیل‌های دامنه مورد نظر چاپ شوند. خروجی را به فایل خروجی با استفاده از sort -u هدایت کنید تا تکراری‌ها حذف شوند. اگر ورودی دارای CRLF است، قبل از پردازش آن را به LF تبدیل کنید تا از خطاهای ناخواسته جلوگیری گردد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری