如何删除整个文件 bash 中某个字符后的所有字符
How to remove all characters after a certain character in bash for a whole file
我发现了几个这样的问题,但他们没有谈论使用整个文件。
我有一个来自旧 OS 的软件包文件,但我将其恢复出厂设置并希望确保所有这些软件包都已安装。
查看文件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
注意:如果你能找到一个更好的方法让我安装所有这些包,你也可以这样回答,但这不是这个问题的重点
您可以为此使用 awk
(或 cut
)。本质上使用该字符分隔文件并仅返回第一个字段:
awk -F"/" '{print }' yourfile > outputfile
这也可以用管道代替:
awk -F"/" '{print }' packages.txt | sudo apt install
假设 apt
可以像那样从标准输入读取。
我发现了几个这样的问题,但他们没有谈论使用整个文件。
我有一个来自旧 OS 的软件包文件,但我将其恢复出厂设置并希望确保所有这些软件包都已安装。
查看文件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
注意:如果你能找到一个更好的方法让我安装所有这些包,你也可以这样回答,但这不是这个问题的重点
您可以为此使用 awk
(或 cut
)。本质上使用该字符分隔文件并仅返回第一个字段:
awk -F"/" '{print }' yourfile > outputfile
这也可以用管道代替:
awk -F"/" '{print }' packages.txt | sudo apt install
假设 apt
可以像那样从标准输入读取。