Sed:将单词(或新成员)添加到文件中的设置行

时间:2013-02-01 19:36:47

标签: sed

假设我有一个带有一些行的文件,并且有一行具有这种结构:

blah blah
YYYY      :['aaa','ddd']
blah
XXXX      :['member1', 'member2']
blah blah

我想要一个脚本将member3自动添加到XXXX数组的末尾。我试图使用sed,但我不知道如何用“'member3']”替换用XXXX开头的行的最后一个括号。所以它看起来像这样:

blah blah
YYYY      :['aaa','ddd']
blah
XXXX      :['member1', 'member2', 'member3']
blah blah

任何帮助?

2 个答案:

答案 0 :(得分:1)

sed "/^XXXX /s/\]\$/, 'member3']/" < input

这会将替换应用于以XXXX开头的行,将]替换为'member3']

答案 1 :(得分:0)

有点不清楚,这就是你所追求的:

$ echo "XXXXX      :['member1', 'member2']" | sed "s/]$/, 'member3']/"
XXXXX      :['member1', 'member2', 'member3']

<强>更新

$ cat file.txt
bla
bla bla
XXXXX      :['member1', 'member2']
bla
bla bla

$ sed "s/]$/, 'member3']/" file.txt
bla
bla bla
XXXXX      :['member1', 'member2', 'member3']
bla
bla bla