如何删除bash中某个字符后的整个文件中的所有字符

时间:2017-07-07 17:06:14

标签: bash grep apt-get

我发现了几个像这样的问题,但他们并没有谈论使用整个文件。

我从旧操作系统获得了一个软件包文件,但我在工厂重置它,并希望确保安装所有这些软件包。

查看文件here

但是我不需要/之后的所有额外信息,我只想要包的名称,这样我就可以sudo apt install cat packages.formatted`。

如何使用grep等工具删除此内容。

实施例

nautilus/oldstable,now 3.14.1-2 armhf [installed]
minecraft-pi/stable,now 0.1.1-4 armhf [installed]

变为

nautilus
minecraft-pi

注意:如果您能找到更好的方法来安装所有这些软件包,您也可以回答这个问题,但这不是这个问题的要点

1 个答案:

答案 0 :(得分:0)

您可以使用awk(或cut)。基本上使用该字符分隔文件并仅返回第一个字段:

awk -F"/" '{print $1}' yourfile > outputfile

这也可以用管道传输:

awk -F"/" '{print $1}' packages.txt | sudo apt install

假设apt可以从stdin读取。