از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش شمارش تعداد خطوط یک فایل در Bash
سرفصلهای مطلب
ممکن است شرایطی وجود داشته باشد که حفظ سوابق ضروری باشد روی تعداد خطوط در یک فایل داده شده شمارش تعداد خطوط به صورت دستی وقت گیر است زیرا ممکن است فایل حاوی محتوای بزرگ و پیچیده باشد. پوسته Bash چندین دستور دارد که تعداد خطوط موجود در فایل ارائه شده را نمایش می دهد. ما تمام دستوراتی را که در پوسته Bash قابل اجرا هستند به اشتراک می گذاریم و به شما کمک می کنیم تا کار شمارش تعداد خطوط فایل ها را انجام دهید. هر یک از این دستورات یک وضعیت را برمیگرداند روی چگونه اعدام می شوند
مثال 1: شمارش خطوط در یک فایل در Bash با دستور WC
موثرترین و ساده ترین دستور برای شمارش خطوط در یک فایل، wc است که مخفف کلمه count است. در اینجا، دستور wc را در قسمت ارائه می دهیم terminal با پرچم “-l”. پرچم نشان دهنده خطوط است. دستور “wc -l” با فایل “Bash.sh” برای تعداد خطوطی که باید از آن فایل شمارش شود مشخص می شود. وقتی این دستور را اجرا می کنیم، مقدار صحیح “13” را به همراه نام فایل “Bash.sh” تولید می کند. خروجی کل خطوط فایل “Bash.sh” را نشان می دهد.
13 بش.ش
نام فایل نیز با تعداد خطوط شمارش شده نمایش داده می شود. همچنین می توانیم با استفاده از نماد “<" از ارسال نام فایل به عنوان پارامتر جلوگیری کنیم تا محتوای فایل را به دستور wc هدایت کنیم. در اینجا دستور "wc -l" را با نماد "<" ارائه می کنیم و سپس نام فایل "Bash.sh" را تنظیم می کنیم. هنگامی که فرمان در terminal، فقط تعداد خطوط موجود در فایل را نمایش می دهد.
13
ما یک گزینه دیگر داریم و آن این است که علامت pipe (‘|’) را برای وارد کردن متد با دستور cat اعمال کنیم تا محتویات فایل به دستور wc ارسال شود. در ادامه دستوری را که کلمه کلیدی cat با فایل Bash.sh استفاده می شود را اجرا می کنیم. سپس لوله “|” را قرار می دهیم. نماد قبل از دستور “wc -l”. دستور فقط تعداد خطوط موجود در فایل “Bash.sh” را برمی گرداند.
13
علاوه بر این، میتوانیم تعداد خطوط چند فایل را بهطور همزمان با استفاده از دستور wc با ایجاد فاصله بین نام هر فایل بشماریم. در اینجا، دستوری می دهیم که در آن wc از پرچم “-lines” با سه فایل که نام “Bash.sh” یکسان دارند استفاده می کند. این دستور ابتدا تعداد خطوط جداگانه برای هر فایل را نمایش می دهد. سپس تعداد کل خطوط همه فایل ها در انتها با کلمه کلیدی “total” نمایش داده می شود.
13 بش.ش
13 بش.ش
13 بش.ش
39 جمع
مثال 2: با دستور NL خطوط یک فایل را در Bash بشمارید
تکنیکی برای شمارش خطوط در هر فایلی وجود دارد که به ندرت پیاده سازی می شود. دستور به صورت “nl” نشان داده می شود که خطوط شماره گذاری شده را از ورودی می خواند و آنها را در خروجی استاندارد می نویسد. در دستور nl زیر، نام فایل “Data.txt” را با کلمه کلیدی “nl” تنظیم می کنیم که هر خط را با تعداد و محتوای فایل برمی گرداند.
1 یکشنبه
2 دوشنبه
3 سهشنبه
4 چهار شنبه
5 پنج شنبه
6 جمعه
7 شنبه
دستور “-nl” را می توان با گزینه های مختلف استفاده کرد. در اینجا، ابتدا از دستور nl با فایل “Data.txt” استفاده و به کار می بریم. پس از آن، از خط لوله “|” استفاده می کنیم. نماد و گزینه “دم” را تنظیم کنید روی سمت راست نماد خط لوله گزینه tail با مقدار “-n3” مشخص می شود که سه خط از آخرین فایل “Data.txt” را می شمارد. نتیجه این دستور آخرین خطوط را با محتوای ورودی در تصویر زیر خروجی می دهد:
5 پنج شنبه
6 جمعه
7 شنبه
مثال 3: با دستور Awk خطوط یک فایل را در Bash بشمارید
Awk یک پردازش متن است command-line ابزاری که بسیار موثر است می توان از آن برای عملیات های مختلفی استفاده کرد که شناسایی تعداد خطوط یکی از آنهاست. دستور “awk” پارامتر “END {print NR}” را می گیرد. NR تعداد رکوردهایی است که توسط بخش END برای تعیین خطوط در فایل چاپ می شود. خطوط موجود در فایل Bash.txt را می توان با استفاده از دستور awk تخمین زد که به صورت زیر فهرست شده است:
28
مثال 4: با دستور Sed خطوط یک فایل را در Bash بشمارید
در مرحله بعد، روشی برای بدست آوردن تعداد کل خطوط در فایل مشخص شده استفاده از دستور sed است. sed به عنوان ویرایشگر جریان برای سیستم لینوکس شناخته می شود. بیشتر جستجو را انجام می دهد و عملیات را جایگزین می کند روی داده ها از فایل ها یا جریان های داده شده. در اینجا، ما از دستور sed با گزینه “-n” برای شمارش تعداد کل خطوط فایل ها استفاده می کنیم. عملگر “$=” شماره خط فعلی را خروجی می دهد. سپس فایل “NewFile.txt” را تنظیم می کنیم روی که عملیات فرمان sed انجام می شود.
14
مثال 5: با دستور Grep خطوط یک فایل را در Bash بشمارید
فیلتر Grep یک فایل را برای یک الگوی کاراکتر خاص می خواند و تمام خطوطی را که با آن الگو مطابقت دارند ارائه می دهد. Grep مخفف Global Regular Expression Print است. به دستور زیر Grep توجه کنید که در آن از گزینه “-e” برای بدست آوردن تعداد کل خطوط استفاده می کنیم. “$” نشان دهنده خط پایانی عبارت منظم و “c” نشان دهنده گزینه count است. دستور grep روی فایل “LinesFile.txt” که به عنوان آرگومان ارسال می شود، انجام می شود. وقتی فایل grep خاص را اجرا می کنیم، مقدار شمارش خطوط از فایل را خروجی می دهد.
11
قبلاً از نماد “$” برای خط پایانی عبارت منظم استفاده می کردیم. در خط ابتدایی عبارت منظم، نماد “^” روی نماد “$” مستقر شده است. فرمت دستور grep برای دریافت خطوط شمارش از ابتدای عبارت منظم با مقدار خروجی به صورت زیر نمایش داده می شود:
11
مثال 6: شمارش خطوط در یک فایل در Bash با دستور while
حلقه while روش دیگری برای شمارش تعداد خطوط در پوسته Bash است. در اینجا اسکریپت یک حلقه while برای دریافت خطوط فایل است. شی “count” را با مقدار “0” تنظیم می کنیم. سپس، حلقه “while” را فراخوانی می کنیم که عملیات خواندن را انجام می دهد. do با شرط «count=$count+1» اختصاص داده میشود که بیان میکند یک بار هر شمارش از فایل، مقدار آن با مقدار «1» افزایش مییابد. دستور done برای تنظیم نام فایل “Bash3.sh” و نمایش تعداد کل خطوط در فایل استفاده می شود.
linux@VirtualBox:~$ در حالی که خواندن
> انجام دادن
((شمردن=$count+1))
انجام شده <Bash3.sh
اکو $count
14
نتیجه
راهنما با تمام دستوراتی که برای بدست آوردن تعداد خطوط از فایل استفاده می شود توضیح داده شده است. این دستورات هنگام کار مفید هستند روی یک مقیاس بزرگ که در آن توسعه دهندگان طول فایل های خود را اندازه گیری می کنند. در بین تمام دستورات برای شمارش خطوط فایل، دستور wc یک روش بسیار آسان و عمدتاً مستقر است.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 11:47:04