如何解决尝试仅在标题中带有关键字“ 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.deb
和dpkg -R --install mono2.deb
>/dev/null
确保不会得到任何输出。请注意,您仍然会收到错误消息!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。