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

时间:2018-09-11 00:27:09

标签: bash shell

我正在尝试在文本文件中添加单词users:旁边的行

这是我的file.txt:

users:
  - angel

这就是我要做的是用相同的users:和用户名users:- rick)替换单词users: - rick

sed -i -e 's/users:/users: - rick/g' file.text

这就是我得到的:

users: - rick
  - angel

但是,如果我继续添加用户:

users: - mike - rick
      - angel

有没有一种方法可以追加到下一行?

users: 
  - mike
  - rick
  - angel

1 个答案:

答案 0 :(得分:2)

在这里进行即时思考,但我认为这会起作用

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