47 apt
我有一个包含很多包名的文本文件。
package1
package2
# comment
# installing package3 because it was needed for...
package 3
package 4
Run Code Online (Sandbox Code Playgroud)
如何在不删除注释的情况下批量安装文本文件中的所有软件包?
and*_*dol 48
沿着这些路线的东西应该可以解决问题。
apt-get install $(grep -vE "^\s*#" filename | tr "\n" " ")
Run Code Online (Sandbox Code Playgroud)
$(something) 构造运行something命令,将其输出插入命令行。
grep 命令将排除任何以 # 开头的行,可选地允许在它之前有空格。然后 tr 命令用空格替换换行符。
Six*_*Six 17
以下命令是对替代方案的(轻微)改进,因为sudo apt-get install当包列表为空时不执行。
xargs -a <(awk '! /^ *(#|$)/' "$packagelist") -r -- sudo apt-get install
Run Code Online (Sandbox Code Playgroud)
请注意,该-a选项直接从文件而不是标准输入中读取项目。我们不想通过管道将文件导入,xargs因为 stdin 必须保持不变以供apt-get.
给定一个包列表文件package.list,尝试:
sudo apt-get install $(awk '{print $1'} package.list)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42320 次 |
| 最近记录: |