linux - 带有 Apt 包管理器的管道

标签 linux bash pipe apt-get

我有两个文件,第一个叫做 packages.txt,它是包列表:

gcc
emacs
vim
python
...

现在,当我运行命令时

cat packages.txt | tr '\n' ' ' | apt-get install

这基本上将文件转换为一行由空格分隔的包。它没有安装 packages.txt. 中的所有包(我认为它只安装了第一个)有人知道为什么吗?

最佳答案

尝试使用xargs:

xargs -d '\n' -- apt-get install < packages.txt

或者

xargs -d '\n' -n 1 -- apt-get install < packages.txt

确保 packages.txt 不是 DOS 格式:

sed -i 's|\r||' packages.txt

关于linux - 带有 Apt 包管理器的管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25391307/

相关文章:

linux - 挂载 SD 卡镜像 - 更改分区上的文件并写回

c++ - 如何将带有特殊字符的QString转换成字节流通过Linux管道发送

linux - Eclipse Kepler 经常因 java.net.UnknownHostException 崩溃

linux - BASH 脚本中的日历月变量

linux - 启动命令,在 10 秒后计算输出行数,然后重新启动它或让它运行

xml - 命令行使用内联定义的值修改 xml 属性

javascript - 如何使用管道控制node.js中http流的流量

java - Windows 上从 Java 到 C++ 的高效数据传输

linux - 当应用程序崩溃并且 Qt Creator (GDB) 不提供回溯时该怎么办?

Linux命令将一个文件复制到多个文件