باش (ماك): تحرير ملف وبعض الأوامر إذا
سؤال
وأريد أن بلدي النصي باش يفعل ما يلي:
ويجدها ملف، على سبيل المثال: hello.txt
وانه يبحث عن نص معين في الملف، على سبيل المثال: يا
إذا وجدت، انتقل إلى الخطوة التالية،
وإذا لم يتم العثور عليه، وكتابة النص على خط جديد والاستمرار في شيء المقبل.
ويمكن لأي شخص أن تعطيني سيناريو هذا؟
وتحرير: أنا أيضا أود أن القيام بذلك أكثر من مرة على التوالي، لذلك شيء لتوفير الوقت يكون كبيرا
المحلول
أولا، في الرد على تعليقاتكم:
<اقتباس فقرة>ولكن انا مبتدئ في باش، فعلت بعض التعليمي، وذلك ساعدني، ولكن هو لا شرح كيفية القيام بذلك الاشياء.
اقتباس فقرة>وبعد ذلك ربما كنت فعلت البرنامج التعليمي الخطأ. و دليل المبتدئين باش في TLDP ينبغي أن تكون قادرة على مساعدتك .
<اقتباس فقرة>وفعلت عمل فترة طويلة مع دفعة (ويندوز). هناك كنت بحاجة الحوار الاقتصادي الاستراتيجي لهذا الغرض. هل سنحتاج الى أداة خاصة للغاية بالنسبة باش؟
اقتباس فقرة>نعم، ولكنها جميعا هي المعيار على معظم أنظمة يونكس (بما في ذلك نظام التشغيل Mac OS X، أعتقد).
<اقتباس فقرة>ويمكن لأي شخص أن يعطي جوابا؟
اقتباس فقرة>وبما أنني في مزاج جيد اليوم ...
ويستخدم grep
للبحث عن نص في الملفات.
وecho
وإعادة توجيه (>
>>
<
|
) تعمل نفس الشيء في bash
كما يفعلون في cmd.exe
ويندوز '، لذلك ربما كنت أعرف مسبقا كيفية استخدام هذه.
#!/bin/bash
...
# The 'if ! grep ...' part is probably the hardest.
if ! grep "hey" "$filename" &> /dev/null; then
# "hey" was not found - use 'echo' to add it
fi
...
والباقي عليك معرفة نفسك.