prune(1) General Commands Manual prune(1)

prune - هرس کردن و برش زیرگراف‌ها در گراف‌های جهت‌دار

prune [ -n node ] [ -N attrspec ] [ -v ] [ -(h|?) ] [ files ... ]

ابزار prune گراف‌های جهت‌دار را در همان قالبی که توسط dot(1) استفاده می‌شود می‌خواند و زیرگراف‌های ریشه‌گرفته از گره‌های مشخص‌شده در خط فرمان را از طریق گزینه‌ها حذف (هرس) می‌کند. خود این گره‌ها حذف نخواهند شد، اما می‌توان به آن‌ها ویژگی‌هایی (صفاتی) اختصاص داد تا توسط یک ویرایشگر جریان گراف مانند gvpr(1) به راحتی مکان‌یابی شوند. prune چرخه‌ها، حلقه‌ها و یال‌های چندگانه را به درستی مدیریت می‌کند.

هر دو گزینه می‌توانند چندین بار در خط فرمان ظاهر شوند. تمام زیرگراف‌های ریشه‌گرفته از گره‌های مربوطه مشخص‌شده پردازش خواهند شد. اگر گره‌ای وجود نداشته باشد، prune از آن صرف‌نظر کرده و یک پیام هشدار در stderr چاپ می‌کند. اگر چندین صفت مشخص شود، آن‌ها به تمامی گره‌هایی که پردازش شده‌اند اعمال خواهند شد. prune نتیجه را در خروجی استاندارد (stdout) می‌نویسد.

نام گره‌ای را که باید هرس شود مشخص می‌کند.
صفتی را مشخص می‌کند که برای هر گره هرس‌شده تنظیم می‌شود (یا در صورت وجود، تغییر می‌یابد). attrspec رشته‌ای به صورت attr=value است.
خروجی با جزئیات کامل (Verbose).
راهنمای استفاده را چاپ کرده و خارج می‌شود.

یک گراف ورودی test.gv به صورت

digraph DG {
A -> B;
A -> C;

B -> D;
B -> E;
}

، که با دستور زیر پردازش شود:

prune -n B test.gv

خروجی زیر را تولید می‌کند (کد واقعی ممکن است با فرمت‌بندی اندکی متفاوت باشد):

digraph DG {
A -> B;
A -> C;
}

یک گراف ورودی دیگر test.gv به صورت

digraph DG {
A -> B;
A -> C;

B -> D;
B -> E;

C -> E;
}

(به یال اضافی از C به E توجه کنید)، که با دستور زیر پردازش شود:

prune -n B -N color=red test.gv

نتیجه زیر را خواهد داشت:

digraph DG {
B [color=red];
A -> B;
A -> C;
C -> E;
}

گره E حذف نشده است زیرا والد دوم آن یعنی C هرس نشده است.

دستور prune در صورت اجرای موفقیت‌آمیز مقدار ۰ را برمی‌گرداند. در صورت بروز خطا مقدار ۱ را برمی‌گرداند.

dot(1), gvpr(1)

Marcus Harnisch <marcus.harnisch@gmx.net>