sed+;IP后特定行上的文本

sed+;IP后特定行上的文本,sed,line,Sed,Line,我的proftpd日志中有以下行(准确地说是第78行) 我还有一个脚本,可以在我的日志中为使用暴力攻击的人滚动,然后存储他们的IP(准备黑名单)。我正在努力的是在特定行的末尾插入(假设使用sed)——这是我目前得到的结果: sed "77i3.4.5.6" /opt/etc/proftpd.conf >> /opt/etc/proftpd.conf 现在有人会认为这会很好地工作,但实际上它会执行以下操作(第77行到第78行): 我怀疑这是因为我的sed版本过时了,有没有其他方法可以

我的proftpd日志中有以下行(准确地说是第78行)

我还有一个脚本,可以在我的日志中为使用暴力攻击的人滚动,然后存储他们的IP(准备黑名单)。我正在努力的是在特定行的末尾插入(假设使用sed)——这是我目前得到的结果:

sed "77i3.4.5.6" /opt/etc/proftpd.conf >> /opt/etc/proftpd.conf
现在有人会认为这会很好地工作,但实际上它会执行以下操作(第77行到第78行):

我怀疑这是因为我的sed版本过时了,有没有其他方法可以达到同样的效果?>>还会导致配置在下面的末尾被复制(同样,我确信这是我的sed版本的一个限制)。这是在我的nas上运行自制linux内核。Sed选项如下:

root@NAS:~#sed BusyBox v1.7.0 (2009-04-29 19:12:57 JST)多重呼叫 二进制的

用法:sed[-efinr]模式[文件…]

选项: -e脚本将脚本添加到要执行的命令中 -f scriptfile将脚本文件内容添加到 要执行的命令 -我在原地编辑文件 -n抑制图案空间的自动打印 -r使用扩展正则表达式语法

如果未给出-e或-f,则第一个 非选项参数作为 使用sed脚本进行解释。所有剩余的 参数是输入文件的名称;如果 未指定任何输入文件,则 读取标准输入。源文件 除非-i选项,否则不会修改 是的


为您的帮助干杯。

这与sed的版本无关;这简直是老生常谈,做错了

sed -i '77s/$/,3.4.5.6/' /opt/etc/proftpd.conf

你这该死的蠢货,谢谢。你能解释一下吗?这是否只是在第77行搜索,然后用回勾的IP地址重新标记“$”(假定这意味着什么?
$
是字符串/行的结尾。这基本上只是把地址附加到第77行的末尾。另外,
s
是替代,而不是搜索。
3.4.5.6
Deny from 1.2.3.4
sed -i '77s/$/,3.4.5.6/' /opt/etc/proftpd.conf