首页 > 解决方案 > 在 SED 命令中插入变量的内容

问题描述

我有一个名为answer.txt的文本文件。我正在尝试从文件中读取内容并尝试插入下面的 yaml 文件(above 'kind:'

为此,我正在读取文件并分配给一个变量。
文件='猫答案.txt'

如果,我使用 echo 打印这个,echo $file我可以看到内容。

但是,当我尝试在 SED 命令中插入它时,实际变量本身被插入,而不是实际内容。我不确定,我在这里做错了什么。

命令-sed '/kind/i $file' input

Yaml 文件名 - 输入

apiVersion: v1
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.in-addr.arpa ip6.arpa {
           pods insecure
           upstream
           fallthrough in-addr.arpa ip6.arpa
           ttl 30
        }
        prometheus :1020
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
kind: ConfigMap
metadata:
  creationTimestamp: "2020-01-24T15:19:51Z"
  name: core
  namespace: system
  resourceVersion: "166"
  selfLink: /api/v1/system/configmaps/core
  uid: b80b35ad-8718-4e88-8asbef-bceb289d50ee


应用 SED 命令后,

apiVersion: v1
    data:
      Corefile: |
        .:53 {
            errors
            health
            kubernetes cluster.in-addr.arpa ip6.arpa {
               pods insecure
               upstream
               fallthrough in-addr.arpa ip6.arpa
               ttl 30
            }
            prometheus :1020
            forward . /etc/resolv.conf
            cache 30
            loop
            reload
            loadbalance
        }
    $file
    kind: ConfigMap
    metadata:
      creationTimestamp: "2020-01-24T15:19:51Z"
      name: core
      namespace: system
      resourceVersion: "166"
      selfLink: /api/v1/system/configmaps/core
      uid: b80b35ad-8718-4e88-8asbef-bceb289d50ee

有人可以纠正我,因为我是初学者吗?
提前致谢

操作系统 - MAC

标签: bashmacosshellsed

解决方案


推荐阅读