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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: meno در 17 تیر 1392، 02:21 ب‌ظ

عنوان: پیدا کردن چندخط در یک فایل متنی و تغییر آن با چند خط دیگه با اسکریپت [ حل شد ]
ارسال شده توسط: meno در 17 تیر 1392، 02:21 ب‌ظ
سلام
 
دوستان محترم من تو یه فایل متنی باید چند خط رو پیدا کنم و اون چند خط رو با چند خط دیگه تغییر بدم
برا مثال من یه فایل دارم که دارای محتویات زیر
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;
عنوان: پاسخ : پیدا کردن چندخط در یک فایل متنی و تغییر آن با چند خط دیگه با اسکریپت
ارسال شده توسط: alend در 17 تیر 1392، 02:55 ب‌ظ
 sed احتمالا مشکل را حل می کند. فقط عبارت باید در یک خط باشد.
عنوان: پاسخ : پیدا کردن چندخط در یک فایل متنی و تغییر آن با چند خط دیگه با اسکریپت
ارسال شده توسط: meno در 17 تیر 1392، 03:29 ب‌ظ
‌من کد زیر رو می نوشتم  اما نتیجه ای حاصل نمی شه

sed -i  s/"wallstream\n    {\n        type            wall;"/"wallstream\n    {\n        type            patch;"/g test.txt
عنوان: پاسخ : پیدا کردن چندخط در یک فایل متنی و تغییر آن با چند خط دیگه با اسکریپت
ارسال شده توسط: meno در 17 تیر 1392، 06:48 ب‌ظ
‌من کد زیر رو می نوشتم  اما نتیجه ای حاصل نمی شه

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 در 18 تیر 1392، 06:26 ق‌ظ
عالی بود :D.
عنوان: پاسخ : پیدا کردن چندخط در یک فایل متنی و تغییر آن با چند خط دیگه با اسکریپت [ حل شد ]
ارسال شده توسط: B در 18 تیر 1392، 10:34 ب‌ظ
ان قسمت که نوشتید
N;N;Nیعنی چی؟
عنوان: پاسخ : پیدا کردن چندخط در یک فایل متنی و تغییر آن با چند خط دیگه با اسکریپت [ حل شد ]
ارسال شده توسط: meno در 19 تیر 1392، 10:51 ق‌ظ
ان قسمت که نوشتید
N;N;Nیعنی چی؟

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