在特定行的末尾输入

在特定行的末尾输入

我有以下遵循相同模式的 file.txt 并且我想通过添加 ip 来修改此文件的位置:

# gfhfhgfh
gfhfghgfhgfhgfh
MACs 
# access
USER CONSOLA *,!10.249.247.3,!10.249.245.65
/bin/false

我想在包含作为客户端的用户控制台的行末尾添加一个 ip:

 USER CONSOLA *,!10.249.247.4,!10.249.245.65,!10.249.245.90,

我目前只能在整个文档中添加 ip,但无法在特定行中添加所使用的代码

sed 's/\r\?$/,!10.10.11.1/' file.txt 

答案1

使用sed你需要如下内容:

sed '/USER CONSOLA/s/$/,!10.249.245.90,/' file.txt

首先,我们将匹配要附加的模式。然后我们使用,s/$/.. 这意味着按原样添加!10.249.245.90,到行尾。

这是另一个awk解决方案:

awk '/USER CONSOLA/{x=x; print $0",!10.249.245.90,";next}1' file.txt

相关内容