我有一个文件,需要从命令行将文本回显到文件末尾,问题是数据位于一个节中,全部位于大括号内。
这是文件的结尾:
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 使其从命令行对文件进行就地更改。