我有要卸载的软件包列表。卸载程序pkg_deinstall
不会将软件包列表作为要卸载的参数。我如何从列表中卸载(如foreach循环)?
[root@fbsd01 /usr/ports/editors/vim]# pkg_info | grep proto| sed 's/\([a-z0-9]*\).*/\1/'
bigreqsproto
compositeproto
damageproto
fixesproto
fontsproto
inputproto
kbproto
randrproto
renderproto
xcb
xcmiscproto
xextproto
xf86bigfontproto
xineramaproto
我认为类似的命令会起作用,但是我必须将列表作为参数而不是流传递: pkg_info | grep proto| sed 's/\([a-z0-9]*\).*/\1/' | head -n 1 pkg_deinstall
如果您可以给我一些有关使用哪种程序和语法的线索,那将很有帮助。我知道,由于它是独一无二的,您可能很难找到确切的答案。如果我的问题太复杂,也许有人可以告诉我如何对ls
目录中的文件执行操作。
pkg_deinstall
命令允许多个参数,所以简单pkg_info | grep proto | sed 's/([a-z0-9])./\1/' | xargs pkg_deinstall
就足够了。