وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش شمارش تعداد خطوط یک فایل در Bash

0 29
زمان لازم برای مطالعه: < 1 دقیقه


ممکن است شرایطی وجود داشته باشد که حفظ سوابق ضروری باشد روی تعداد خطوط در یک فایل داده شده شمارش تعداد خطوط به صورت دستی وقت گیر است زیرا ممکن است فایل حاوی محتوای بزرگ و پیچیده باشد. پوسته Bash چندین دستور دارد که تعداد خطوط موجود در فایل ارائه شده را نمایش می دهد. ما تمام دستوراتی را که در پوسته Bash قابل اجرا هستند به اشتراک می گذاریم و به شما کمک می کنیم تا کار شمارش تعداد خطوط فایل ها را انجام دهید. هر یک از این دستورات یک وضعیت را برمی‌گرداند روی چگونه اعدام می شوند

مثال 1: شمارش خطوط در یک فایل در Bash با دستور WC

موثرترین و ساده ترین دستور برای شمارش خطوط در یک فایل، wc است که مخفف کلمه count است. در اینجا، دستور wc را در قسمت ارائه می دهیم terminal با پرچم “-l”. پرچم نشان دهنده خطوط است. دستور “wc -l” با فایل “Bash.sh” برای تعداد خطوطی که باید از آن فایل شمارش شود مشخص می شود. وقتی این دستور را اجرا می کنیم، مقدار صحیح “13” را به همراه نام فایل “Bash.sh” تولید می کند. خروجی کل خطوط فایل “Bash.sh” را نشان می دهد.

linux@VirtualBox:~$ دستشویی بش.ش
13 بش.ش

نام فایل نیز با تعداد خطوط شمارش شده نمایش داده می شود. همچنین می توانیم با استفاده از نماد “<" از ارسال نام فایل به عنوان پارامتر جلوگیری کنیم تا محتوای فایل را به دستور wc هدایت کنیم. در اینجا دستور "wc -l" را با نماد "<" ارائه می کنیم و سپس نام فایل "Bash.sh" را تنظیم می کنیم. هنگامی که فرمان در terminal، فقط تعداد خطوط موجود در فایل را نمایش می دهد.

linux@VirtualBox:~$ دستشویی < بش.ش
13

ما یک گزینه دیگر داریم و آن این است که علامت pipe (‘|’) را برای وارد کردن متد با دستور cat اعمال کنیم تا محتویات فایل به دستور wc ارسال شود. در ادامه دستوری را که کلمه کلیدی cat با فایل Bash.sh استفاده می شود را اجرا می کنیم. سپس لوله “|” را قرار می دهیم. نماد قبل از دستور “wc -l”. دستور فقط تعداد خطوط موجود در فایل “Bash.sh” را برمی گرداند.

linux@VirtualBox:~$ گربه بش.ش | دستشویی
13

علاوه بر این، می‌توانیم تعداد خطوط چند فایل را به‌طور همزمان با استفاده از دستور wc با ایجاد فاصله بین نام هر فایل بشماریم. در اینجا، دستوری می دهیم که در آن wc از پرچم “-lines” با سه فایل که نام “Bash.sh” یکسان دارند استفاده می کند. این دستور ابتدا تعداد خطوط جداگانه برای هر فایل را نمایش می دهد. سپس تعداد کل خطوط همه فایل ها در انتها با کلمه کلیدی “total” نمایش داده می شود.

linux@VirtualBox:~$ دستشویی — خطوط بش.ش بش.ش بش.ش
13 بش.ش
13 بش.ش
13 بش.ش
39 جمع

مثال 2: با دستور NL خطوط یک فایل را در Bash بشمارید

تکنیکی برای شمارش خطوط در هر فایلی وجود دارد که به ندرت پیاده سازی می شود. دستور به صورت “nl” نشان داده می شود که خطوط شماره گذاری شده را از ورودی می خواند و آنها را در خروجی استاندارد می نویسد. در دستور nl زیر، نام فایل “Data.txt” را با کلمه کلیدی “nl” تنظیم می کنیم که هر خط را با تعداد و محتوای فایل برمی گرداند.

linux@VirtualBox:~$ nl Data.txt
1 یکشنبه
2 دوشنبه
3 سهشنبه
4 چهار شنبه
5 پنج شنبه
6 جمعه
7 شنبه

دستور “-nl” را می توان با گزینه های مختلف استفاده کرد. در اینجا، ابتدا از دستور nl با فایل “Data.txt” استفاده و به کار می بریم. پس از آن، از خط لوله “|” استفاده می کنیم. نماد و گزینه “دم” را تنظیم کنید روی سمت راست نماد خط لوله گزینه tail با مقدار “-n3” مشخص می شود که سه خط از آخرین فایل “Data.txt” را می شمارد. نتیجه این دستور آخرین خطوط را با محتوای ورودی در تصویر زیر خروجی می دهد:

linux@VirtualBox:~$ nl Data.txt | دم -n3

پیشنهاد می‌کنیم بخوانید:  wc چه کاری انجام می دهد و چگونه کلمات را بشماریم - Bash

5 پنج شنبه
6 جمعه
7 شنبه

مثال 3: با دستور Awk خطوط یک فایل را در Bash بشمارید

Awk یک پردازش متن است command-line ابزاری که بسیار موثر است می توان از آن برای عملیات های مختلفی استفاده کرد که شناسایی تعداد خطوط یکی از آنهاست. دستور “awk” پارامتر “END {print NR}” را می گیرد. NR تعداد رکوردهایی است که توسط بخش END برای تعیین خطوط در فایل چاپ می شود. خطوط موجود در فایل Bash.txt را می توان با استفاده از دستور awk تخمین زد که به صورت زیر فهرست شده است:

linux@VirtualBox:~$ بیخیال “پایان {print NR}” Bash.txt
28

مثال 4: با دستور Sed خطوط یک فایل را در Bash بشمارید

در مرحله بعد، روشی برای بدست آوردن تعداد کل خطوط در فایل مشخص شده استفاده از دستور sed است. sed به عنوان ویرایشگر جریان برای سیستم لینوکس شناخته می شود. بیشتر جستجو را انجام می دهد و عملیات را جایگزین می کند روی داده ها از فایل ها یا جریان های داده شده. در اینجا، ما از دستور sed با گزینه “-n” برای شمارش تعداد کل خطوط فایل ها استفاده می کنیم. عملگر “$=” شماره خط فعلی را خروجی می دهد. سپس فایل “NewFile.txt” را تنظیم می کنیم روی که عملیات فرمان sed انجام می شود.

linux@VirtualBox:~$ sed -n ‘$=’ NewFile.txt
14

مثال 5: با دستور Grep خطوط یک فایل را در Bash بشمارید

فیلتر Grep یک فایل را برای یک الگوی کاراکتر خاص می خواند و تمام خطوطی را که با آن الگو مطابقت دارند ارائه می دهد. Grep مخفف Global Regular Expression Print است. به دستور زیر Grep توجه کنید که در آن از گزینه “-e” برای بدست آوردن تعداد کل خطوط استفاده می کنیم. “$” نشان دهنده خط پایانی عبارت منظم و “c” نشان دهنده گزینه count است. دستور grep روی فایل “LinesFile.txt” که به عنوان آرگومان ارسال می شود، انجام می شود. وقتی فایل grep خاص را اجرا می کنیم، مقدار شمارش خطوط از فایل را خروجی می دهد.

linux@VirtualBox:~$ grep -e “$” LinesFile.txt
11

قبلاً از نماد “$” برای خط پایانی عبارت منظم استفاده می کردیم. در خط ابتدایی عبارت منظم، نماد “^” روی نماد “$” مستقر شده است. فرمت دستور grep برای دریافت خطوط شمارش از ابتدای عبارت منظم با مقدار خروجی به صورت زیر نمایش داده می شود:

linux@VirtualBox:~$ grep -e “^” LinesFile.txt
11

مثال 6: شمارش خطوط در یک فایل در Bash با دستور while

حلقه while روش دیگری برای شمارش تعداد خطوط در پوسته Bash است. در اینجا اسکریپت یک حلقه while برای دریافت خطوط فایل است. شی “count” را با مقدار “0” تنظیم می کنیم. سپس، حلقه “while” را فراخوانی می کنیم که عملیات خواندن را انجام می دهد. do با شرط «count=$count+1» اختصاص داده می‌شود که بیان می‌کند یک بار هر شمارش از فایل، مقدار آن با مقدار «1» افزایش می‌یابد. دستور done برای تنظیم نام فایل “Bash3.sh” و نمایش تعداد کل خطوط در فایل استفاده می شود.

linux@VirtualBox:~$ شمردن=0
linux@VirtualBox:~$ در حالی که خواندن
> انجام دادن

پیشنهاد می‌کنیم بخوانید:  روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

((شمردن=$count+1))
انجام شده <Bash3.sh
اکو $count
14

نتیجه

راهنما با تمام دستوراتی که برای بدست آوردن تعداد خطوط از فایل استفاده می شود توضیح داده شده است. این دستورات هنگام کار مفید هستند روی یک مقیاس بزرگ که در آن توسعه دهندگان طول فایل های خود را اندازه گیری می کنند. در بین تمام دستورات برای شمارش خطوط فایل، دستور wc یک روش بسیار آسان و عمدتاً مستقر است.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-29 11:47:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید