از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
آموزش پایپ بش
سرفصلهای مطلب
به طور معمول، ما خروجی هر دستوری را وارد می کنیم terminal. گاهی اوقات لازم است خروجی دستور را به عنوان ورودی دستور دیگری ارسال کنیم. این کار را می توان با چندین بار اجرای دستورات انجام داد. اما این کار را می توان به راحتی با استفاده از دستور pipe انجام داد که دو یا چند دستور را در یک زمان در لینوکس اجرا می کند که خروجی دستور one ورودی دستور بعدی است. ‘|’ اپراتور برای لوله کشی استفاده می شود. کاربردهای دستور pipe در این آموزش توضیح داده شده است.
نمونه هایی از دستورات لوله
کاربردهای مختلف دستور pipe(|) در این قسمت از آموزش نشان داده شده است.
مثال 1: در یک فایل بنویسید
مقدار رشته خاص را می توان با استفاده از دستورات “echo” و “cat” در یک فایل جدید نوشت.
دستور زیر را برای نوشتن یک مقدار رشته در فایل test.txt اجرا کنید. در اینجا، خروجی دستور “echo” به عنوان ورودی دستور “cat” ارسال می شود:
دستور زیر را برای بررسی محتوای آن اجرا کنید test.txt فایل:
خروجی زیر نشان می دهد که فایل با خروجی دستور “echo” با موفقیت ایجاد شده است:
مثال 2: تعداد کل فایل های خاص را بشمارید
روش شمارش تعداد کل فایل های متنی که با کلمه “test” شروع می شوند در این مثال نشان داده شده است. این کار را می توان با استفاده از چند دستور یا یک دستور با لوله (|) انجام داد.
دستور زیر را برای چاپ لیست فایل های متنی محل فعلی اجرا کنید:
خروجی زیر نشان می دهد که دو فایل متنی وجود دارد که با کلمه “test” شروع می شود. اینها test.txt و testfile.txt هستند:
برای ذخیره لیست فایل های متنی در متغیر $list دستور زیر را اجرا کنید:
دستور زیر را اجرا کنید تا لیست فایل های متنی که با کلمه test شروع می شود را پیدا کنید و آنها را در فایل filter.txt ذخیره کنید:
دستور زیر را برای شمارش تعداد کل خطوط فایل filter.txt اجرا کنید:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود:
وظیفه دستورات قبلی را می توان به راحتی با استفاده از دستور زیر انجام داد که در آن خروجی دستور “ls” به عنوان ورودی دستور “grep” ارسال می شود. خروجی دستور “grep” به عنوان ورودی دستور “wc” با استفاده از لوله (|) است.
خروجی زیر پس از اجرای دستور قبلی ظاهر می شود:
مثال 3: محتوای یک فایل را مرتب کنید
از دستور “مرتب سازی” می توان برای مرتب سازی محتوای فایل به روش های مختلف استفاده کرد. روش مرتب سازی محتوای یک فایل متنی با استفاده از دستورات “cat” و “sort” در این قسمت از آموزش نشان داده شده است.
یک فایل متنی با نام ایجاد کنید products.txt با محتوای زیر:
برای بررسی محتوای فایل products.txt دستور زیر را اجرا کنید:
خروجی زیر پس از اجرای دستور قبلی ظاهر می شود:
دستور زیر را اجرا کنید تا محتوای فایل به ترتیب صعودی مرتب شود روی ستون اول فایل:
خروجی زیر پس از اجرای دستور قبلی ظاهر می شود:
دستور زیر را اجرا کنید تا محتوای فایل را به ترتیب نزولی مرتب کنید روی ستون اول فایل:
خروجی زیر پس از اجرای دستور قبلی ظاهر می شود:
دستور زیر را اجرا کنید تا محتوای فایل به ترتیب صعودی مرتب شود روی ستون سوم فایل:
خروجی زیر پس از اجرای دستور قبلی ظاهر می شود:
دستور زیر را اجرا کنید تا محتوای فایل به ترتیب صعودی مرتب شود روی ستون اول فایل و خروجی مرتب شده را در فایل sortedProduct.txt ذخیره کنید:
برای بررسی محتوای فایل sortedProduct.txt دستور زیر را اجرا کنید:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود:
مثال 4: محتوای خاص یک فایل را بخوانید
دستور head برای خواندن تعداد مشخصی از خطوط از ابتدای فایل استفاده می شود. دستور “tail” برای خواندن تعداد مشخصی از خطوط از انتهای فایل استفاده می شود. روش های استفاده از دستورات «cat» و «head»، «cat» و «tail» و «cat»، «head» و «tail» با عملگر لوله (|) در این مثال نشان داده شده است.
برای بررسی محتوای فایل products.txt دستورات زیر را اجرا کنید و دو خط اول فایل products.txt را چاپ کنید:
$ گربه products.txt | سر -2
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود:
برای بررسی محتوای فایل products.txt دستورات زیر را اجرا کنید و سه خط آخر فایل products.txt را چاپ کنید:
$ گربه products.txt | دم -3
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود:
برای بررسی محتوای فایل products.txt دستورات زیر را اجرا کنید و آخرین خط را از سه خط اول فایل products.txt چاپ کنید:
$ گربه products.txt | سر -3 | دم -1
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود:
نتیجه
اپراتور لوله (|) یک اپراتور بسیار مفید Bash است که برای چندین منظور استفاده می شود. برخی از کاربردهای رایج این عملگر در این آموزش با استفاده از مثال های مختلف نشان داده شده است. امیدواریم پس از مطالعه این آموزش استفاده از عملگر لوله (|) برای کاربران Bash پاک شود.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 09:13:04