لینوکس، Myfind


یک اسکریپت Bash با نام myfind.sh بنویسید که یک فایل و یک رشته را بگیرد و کل متن فایل را به این صورت در خروجی استاندارد بنویسد:

در ابتدای خطوطی که رشته داده‌شده در آن خطوط وجود ندارد، دو کاراکتر فاصله و در ابتدای خطوطی که رشته داده‌شده در آن خطوط وجود دارد، یک + و سپس یک فاصله بیاید.

تشخیص این که رشته داده‌شده در یک خط وجود دارد یا خیر باید به صورت case insensitive باشد.

به عنوان مثال، اگر مختوای فایل sample.cpp به صورت زیر باشد:

#include <iostream>
using namespace std;
int main() {
    int n;
    cin >> n;
    for (int m=0; m<n; m++)
        cout << m << endl;
    return 0;
}
Plain text

با اجرای دستور bash myfind.sh sample.cpp 'iNt m' خروجی به صورت زیر خواهد بود:

  #include <iostream>
  using namespace std;
+ int main() {
      int n;
      cin >> n;
+     for (int m=0; m<n; m++)
          cout << m << endl;
      return 0;
  }
Plain text

اسکریپت myfind.sh را Zip کنید و به عنوان پاسخ ارسال کنید. دقت کنید که اسکریپت باید مستقیماً در ریشه فایل Zip باشد (در هیچ پوشه‌ای نباشد).