【问题标题】:how to replace two things at once with sed?如何用sed一次替换两件事?
【发布时间】:2012-05-20 21:46:21
【问题描述】:

给出的是字符串:dog apple orange banana

我需要成功:monkey apple cow banana

即没有调用 sed 两次。

【问题讨论】:

    标签: shell sed


    【解决方案1】:

    以下 sed 示例应该可以解决您的问题。 sed 允许多个 -e 开关,这允许您一次替换多个东西。

    sed -e 's/dog/monkey/g' -e 's/orange/cow/g'
    

    【讨论】:

      【解决方案2】:

      使用; 对命令进行排队:

      sed -e 's/dog/monkey/g;s/orange/cow/g'
      

      【讨论】:

      • 你能提供一个关于它是如何工作的演示吗?将狗苹果橙香蕉放入文件 test.txt 后,我​​无法让它工作。不是;用于分隔 bash 命令?
      • 这应该可以工作:sed -e 's/dog/monkey/g;s/orange/cow/g' files.txt。确保引用 sed 脚本,这样 bash 就不会吃掉分号。
      • 很高兴知道。我以前从未见过。谢谢。
      • @user123444555621 是否在没有-i 选项的情况下替换文件?您可以在答案中添加您的评论,因为这是很好的评论。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      相关资源
      最近更新 更多