Linux 从 ini 文件中删除 key 没有值的行

Linux 从 ini 文件中删除 key 没有值的行

我有一个具有不同值的配置文件,格式如下:

[Global]

control_ip =
control_port =
control_socket = /run/tipper.sock
control_pass =

现在我只想删除之后没有值的行=,当然不删除[Global]节标题。

答案1

sed '/=\s*$/d' infile

或者

sed '/=[[:blank:]]*$/d' infile

删除那些以=零个或多个空格结尾的行。


使用awk并保留空行:

awk -F'[=\t ]' '$NF!="" || /^$/' infile

或者

awk -F'=[[:blank:]]*' '$NF!="" || /^$/' infile

相关内容