تمام سوالات سوالات بدون پاسخ سوال بپرسید

می خواهم در تمام شاخه ها و زیر شاخه های جاری بگردم و هر شاخه ای که دارای فایلی با نام registered نباشد، را بعنوان پارامتر ورودی به یک فایل اجرایی بنام register بفرستم. فراموش کردم که عرض کنم می خواهم این کار را با bash script و روی linux انجام دهم.

1 پاسخ

پاسخ به این سوال خیلی ساده است. با استفاده از دستور find و قابلیت های فوق العاده آن می توان تقریباْ هر چیزی را پیدا کرد. نکته دوم استفاده از xargs است که می تواند موارد یافت شده را بصورت جداگانه و با اجرای فایل register بعنوان پارامتر ورودی به آن پاس دهد. پس دستور زیر می تواند تمام شاخه ها و زیر شاخه های جاری را جستجو کرده و هر شاخه ای که حاوی فایلی بنام registered نباشد را لیست کند. سپس با استفاده از یک pipe (|) توانسته ایم تا موارد یافت شده را به xargs ارسال کنیم.

find * ! -wholename "*/registered" | xargs -I{} ./register {}

دقت کنید که دستور xargs می تواند فایل اجرایی register را به ازای هر کدام از مواردی که پیدا می شود، اجرا کند. مورد پیدا شده بصورت پارامتر ورودی به فایل register ارسال می شود.

اما نکته این است که در ابتدای فایل register باید دقت شود که موردی که بعنوان پارامتر ورودی ارسال شده است، حتماْ نام یک شاخه باشد. این کار هم بسادگی و به شکل زیر قابل انجام است.

#!/bin/sh
if [ -d "$1" ]; then
#do whatever you want
fi
toggle preview



آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
  • ×79
  • ×36
  • پرسیده شده: 03 مارس '12, 21:08
  • بازدید: 1,762 بار
  • آخرین بروزرسانی: 03 مارس '12, 22:27

این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها