2011-08-30 62 views
1

創建自動卸載腳本可能有人請告訴我,我怎麼能這樣做的例子如下:在Perl

如果我使用一個shell命令生成包的兩個列表,用於如:

rpm -qa | grep -i packages1 
and 
rpm -qa | grep -i packages2 

而不是使用yum來「手動」卸載生成列表中顯示的每個包,有沒有辦法將它們放到Perl循環中來自動執行此操作?

+0

是否必須在perl中?你可以通過xargs管它來運行每個包的yum uninstall命令嗎? – cubabit

+1

嘗試'rpm -qa | grep -E'packages | packages2'| xargs rpm -e' –

+0

嗨,非常感謝那個很酷的命令,但是不幸的是我在perl中需要它:( –

回答

0

如果您需要在Perl中執行命令行處理,我推薦IPC::Run

use IPC::Run qw(run); 
my $regex = join '|', map { quotemeta } @packages; 
run ['rpm', '-qa'], '|', ['egrep', $regex], '|', ['xargs', 'yum', '-y', 'remove'];