یک اسکریپت Bash بنویسید که با استفاده از دستور cut از هر خط فایل users.txt فیلد سوم جدا شده با ':' را چاپ کند.

3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:23

0.0

برای حل این مسئله از دستور cut با گزینه -d برای تعیین جداکننده و -f برای انتخاب فیلد استفاده کنید، مثلاً cut -d':' -f3 users.txt یا با لوله‌کردن: cat users.txt | cut -d: -f3. اگر فایل هدر دارد می‌توانید با tail -n +2 هدر را حذف کنید و برای نادیده گرفتن خطوط خالی از grep -v '^$' قبل از cut استفاده کنید. این کار در یک اسکریپت ساده Bash با خواندن نام فایل از آرگومان یا مقدار پیش‌فرض انجام پذیر است.

توسط پژوهشگر در 221 روز قبل ساعت 01:23
دسته بندی ها: Bash Scripting Bash Scripting for beginner
sara در 221 روز قبل ساعت 13:27

برای چاپ فیلد سوم در هر خط از فایل users.txt با جداکننده ':'، استفاده از cut -d':' -f3 خیلی ساده است. اگر خطوطی فیلد سوم ندارند یا مقدار آن خالی است، خروجی برای آن خطوط خالی می‌شود و ممکن است لازم باشد آنها را فیلتر کنید یا با awk شرط بگذارید. در صورت وجود سرخط، می‌توانید با tail -n +2 آن را رد کنید یا با شرطی در awk از چاپ سرخط صرف‌نظر کنید. همچنین می‌توانید نام فایل را از آرگومان دریافت کرده و به صورت پیش‌فرض به users.txt ارجاع دهید تا اسکریپت کارکرد ساده‌تری داشته باشد.

گزارش

1 پاسخ

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

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