如何使用bash在yaml文件的末尾添加缩进行?

如何使用bash在yaml文件的末尾添加缩进行?,bash,shell,file,yaml,sh,Bash,Shell,File,Yaml,Sh,我有一个文件test.yaml,其中包含以下内容: '12345' key1: 'foo' key2: 'bar' 我有一个名为ENV1的系统/env变量,值为“baz” 如何将此文件作为bash的结果 '12345': key1: 'foo' key2: 'bar' key3: 'baz' 或将-i设置到位 另一种选择 $ cat file <(echo " key3: '$ENV1'") $cat file我认为这是最简单的方法(将写入文件): 如果只想打印

我有一个文件test.yaml,其中包含以下内容:

'12345'
  key1: 'foo'
  key2: 'bar'
我有一个名为ENV1的系统/env变量,值为“baz”

如何将此文件作为bash的结果

'12345':
  key1: 'foo'
  key2: 'bar'
  key3: 'baz'
或将
-i
设置到位

另一种选择

$ cat file <(echo "  key3: '$ENV1'")

$cat file我认为这是最简单的方法(将写入文件):

如果只想打印附加环境变量的内容(不修改文件)


cat file我收到一个错误“$a\key3:”:在命令“确保引号与所写的完全相同”的结尾处的\后面额外字符。如果你在MacOS上,sed有一些怪癖,请查看文档以添加一行。
$ cat file <(echo "  key3: '$ENV1'")
echo "  key3: '$ENV1'" >> file
cat file <(echo "  key3: '$ENV1'")