【问题标题】:gsed: Find, increment, and replace recursivelygsed:递归查找、递增和替换
【发布时间】:2023-03-25 08:47:01
【问题描述】:

所以我有一堆分散并深深嵌套在一个目录中的文件,我想找到,增加 2,并替换每次出现的字符串中的数字,例如 fontSize: 10

例如:

fontSize: 10 变为 fontSize: 12

fontSize: 30 变为fontSize: 32

我尝试过gsed -r 's/(.*)(\?fontSize=)([0-9]+)(.*)/echo "\1\2$((\3+1))\4"/ge' file.kt,但它似乎不适用于单个文件,而且我希望它可以在多个文件上运行。

【问题讨论】:

    标签: macos sed terminal


    【解决方案1】:

    因为你需要做数学,seded 和朋友们将无法工作。比如:

    find dir/ -name "*.kt" -exec perl -pi -e 's/fontSize: \K(\d+)/$1 + 2/eg' '{}' +
    

    应该这样做。

    【讨论】:

      猜你喜欢
      • 2012-04-28
      • 2011-10-23
      • 2013-05-26
      • 2016-08-21
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      • 2012-03-12
      • 2015-06-10
      相关资源
      最近更新 更多