انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: پیدا کردن چندخط در یک فایل متنی و تغییر آن با چند خط دیگه با اسکریپت [ حل شد ]  (دفعات بازدید: 1545 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین meno

  • Full Member
  • *
  • ارسال: 109
  • جنسیت : پسر
    • MeNoBLOG
سلام
 
دوستان محترم من تو یه فایل متنی باید چند خط رو پیدا کنم و اون چند خط رو با چند خط دیگه تغییر بدم
برا مثال من یه فایل دارم که دارای محتویات زیر
top
    {
        type            wall;
        nFaces          165;
        startFace       65635;
    }
    outlet
    {
        type            patch;
        nFaces          200;
        startFace       65800;
    }
    plat
    {
        type            wall;
        nFaces          105;
        startFace       66000;
    }
    wallstream
    {
        type            patch;
        nFaces          60;
        startFace       66105;
    }
    inlet
    {
        type            patch;
        nFaces          200;
        startFace       66165;
    }


که می خوام خط زیر رو پیدا کنم

    wallstream
    {
        type            wall;

و با کد زیر عوضش کنم

    wallstream
    {
        type            patch;
« آخرین ویرایش: 17 تیر 1392، 09:02 ب‌ظ توسط meno »

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
 sed احتمالا مشکل را حل می کند. فقط عبارت باید در یک خط باشد.

آفلاین meno

  • Full Member
  • *
  • ارسال: 109
  • جنسیت : پسر
    • MeNoBLOG
‌من کد زیر رو می نوشتم  اما نتیجه ای حاصل نمی شه

sed -i  s/"wallstream\n    {\n        type            wall;"/"wallstream\n    {\n        type            patch;"/g test.txt
« آخرین ویرایش: 17 تیر 1392، 03:34 ب‌ظ توسط meno »

آفلاین meno

  • Full Member
  • *
  • ارسال: 109
  • جنسیت : پسر
    • MeNoBLOG
‌من کد زیر رو می نوشتم  اما نتیجه ای حاصل نمی شه

sed -i  s/"wallstream\n    {\n        type            wall;"/"wallstream\n    {\n        type            patch;"/g test.txt

یافتم یافتم یافتم  \\:D/ \\:D/ \\:D/ \\:D/ \\:D/ \\:D/ \\:D/ \\:D/ 8)

sed -i  'N;N;N;s/    wallstream\n    {\n        type            wall/    wallstream\n    {\n        type            patch/' test.txt
با دستور بالا جواب گرفتم خدا رو شکر

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
ان قسمت که نوشتید
N;N;Nیعنی چی؟

آفلاین meno

  • Full Member
  • *
  • ارسال: 109
  • جنسیت : پسر
    • MeNoBLOG
ان قسمت که نوشتید
N;N;Nیعنی چی؟

تعداد خطوط الگو رو نشون می ده من اینجا اگویی که می خواستم تغییر ش بدم سه خط بود برا همینم از سه تا N;N;N;‌ استفاده کردم