在数据字符串末尾的节内插入文本

在数据字符串末尾的节内插入文本

我有一个文件,需要从命令行将文本回显到文件末尾,问题是数据位于一个节中,全部位于大括号内。

这是文件的结尾:

text-string1,text-string2,text-string3;
}

我需要能够在 text-string3 之后插入文本,但仍将其保留在分号和大括号内。像这样:

text-string1,text-string2,text-string3,new-text-string;
}

从命令行完成此操作的最佳方法是什么?

答案1

可以使用 single 来完成sed,但为了简单起见,我会使用tac

tac file | sed '2s/;$/new-text-string;/' | tac 

答案2

sed -i 's/;$/,new-text-string;/' filename 

会找到最后一次出现的“;”并将新数据附加在其前面。 -i 使其从命令行对文件进行就地更改。

相关内容