尝试仅在标题中带有关键字“ mono”的文件上的文件夹中使用dpkg

问题描述

我目前正在尝试使用dpkg安装mono,并且使用apt-get安装同一文件夹中的所有其他文件,我知道我需要使用以下形式:

sudo grep 'mono' | dpkg -R --install >/dev/null

但是对于我来说,有太多的未知因素需要完成,并填补可能存在的空白,任何帮助将不胜感激!

解决方法

尝试一下:

ls | grep "mono" | sudo xargs dpkg -R --install >/dev/null

ls仅提供当前目录中的文件。您也可以使用ls -d *mono*代替ls和grep,但我认为ls和grep更容易理解

grep就像您以前一样,但是现在从ls输入到grep。您可以尝试ls | grep "mono"查看它选择了哪些文件。

然后将sudo移至脚本的dpkg部分,以使dpkg以root身份运行。 grep的运行方式是root用户,dpkg用户身份运行

xargs将接受您输入的任何内容,并将其放在下一个命令之后。如果命令行太大,它将考虑命令行长度限制,并执行多个dpkg命令。请注意,如果文件名中包含空格,则xargs会将空格视为新文件的开头,并且会遇到问题。有解决方案,但实际上,最简单的解决方案是没有带空格的文件。

在此示例中,假设grep中有2个文件“ mono1.deb和” mono2.deb”,执行的命令将是dpkg -R --install mono1.deb mono2.deb。如果由于某种原因,您希望每个dpkg执行仅一个deb,可以将其更改为...xargs -n1 dpkg...,它将同时运行dpkg -R --install mono1.debdpkg -R --install mono2.deb

>/dev/null确保不会得到任何输出。请注意,您仍然会收到错误消息!

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...