如何在bash中的特定单词旁边的文本文件中添加一行?

如何在bash中的特定单词旁边的文本文件中添加一行?,bash,shell,Bash,Shell,我正试图在文字用户: 这是my file.txt: users: - angel 也就是说,我要做的是用相同的用户:和用户名-rick(用户:-rick): 这就是我得到的: users: - rick - angel 但如果我继续添加用户: users: - mike - rick - angel 有没有一种方法可以像这样附加到下一行 users: - mike - rick - angel 我在这里想,但我想这会管用的 sed -i -e 's/us

我正试图在文字
用户:

这是my file.txt:

users:
  - angel
也就是说,我要做的是用相同的
用户:
和用户名
-rick
用户:-rick
):

这就是我得到的:

users: - rick
  - angel
但如果我继续添加用户:

users: - mike - rick
      - angel
有没有一种方法可以像这样附加到下一行

users: 
  - mike
  - rick
  - angel

我在这里想,但我想这会管用的

sed -i -e 's/users:/users: \n - rick/g' file.text
可以确认它的工作

λ sed -i -e 's/users:/users: \n - mark/g' file.text
λ cat file.text
users:
 - mark
 - rick

我在这里想,但我想这会管用的

sed -i -e 's/users:/users: \n - rick/g' file.text
可以确认它的工作

λ sed -i -e 's/users:/users: \n - mark/g' file.text
λ cat file.text
users:
 - mark
 - rick

您应该能够通过以下方式完成此操作:

sed -i -e 's/users:/& \' -e '  - rick/g' file.text
或者


这应该在
用户:
字符串之后插入新名称,但在其他名称之前插入。

您应该可以通过以下方式执行此操作:

sed -i -e 's/users:/& \' -e '  - rick/g' file.text
或者


这应该在
用户:
字符串之后插入新名称,但在其他名称之前。

它说
sed:-e expression#1,char 13:unterminated`s'命令
谢谢你回答l'l'l。它说
sed:-e expression#1,char 13:unterminated`s'命令
谢谢你回答l'l。