Bash,将行注入到文件中

Bash,将行注入到文件中,bash,sed,grep,tee,Bash,Sed,Grep,Tee,起初,我的下面有一个错误,所以我正在编辑并重新打开它 我在向文件中注入行时遇到一些问题。我的目标是: 查找该行(在本例中为VIMLINE)。如果有行,什么也不做(或者删除行,我需要在不同的时间同时执行“不做”和“删除行”,但不知道如何适应删除-删除适用于我希望确保在脚本末尾注入的情况) 如果该行不在那里(我想这是|应该做的),那么将该行附加到脚本的末尾 下面的方法非常适合将文件中尚未包含的行注入到该文件中 VIMLINE='color industry' grep -qxF "$VIM

起初,我的下面有一个错误,所以我正在编辑并重新打开它

我在向文件中注入行时遇到一些问题。我的目标是:

  • 查找该行(在本例中为
    VIMLINE
    )。如果有行,什么也不做(或者删除行,我需要在不同的时间同时执行“不做”和“删除行”,但不知道如何适应删除-删除适用于我希望确保在脚本末尾注入的情况)
  • 如果该行不在那里(我想这是
    |
    应该做的),那么将该行附加到脚本的末尾
  • 下面的方法非常适合将文件中尚未包含的行注入到该文件中

    VIMLINE='color industry'
    grep -qxF "$VIMLINE" ~/.vimrc || echo $VIMLINE | sudo tee --append ~/.vimrc
    

    那么,我的问题是,我如何修改上述内容:查找一行(或一行的一部分)并删除该行,然后重新插入该行(以确保该行添加到文件末尾)?

    回答新问题:

    sed -i '/'$VIMLINE'/{h;d}; $G' ~/.vimrc
    

    对老问题的答复:
    你在$VIMLINE上打grep,用
    grep-qxF“$VIMLINE”…
    改为在“颜色行业”上打grep。

    要添加,双引号会扩展变量,单引号不会。是的,他一提到我就知道了。只是其中的一种情况,我看了十几遍,看不见树木的树木。。。