如何在sed行中匹配除第一个匹配项以外的所有匹配项?

我正在使用某种模式在Git中执行提交消息,以简化为新版本创建更改日志(https://stackoverflow.com/a/5151123/520162)。

应考虑到我的changelog的每一个变化得到前缀CHGNEWFIX

在生成变更日志时,我将使用以下命令为每个修订版打印要解析的修订版:

git show --quiet --date=short --pretty=format:"%cd %an %s%n%n%w(100,21,21)%b%n" $CURRENTREVISION

主题(%s)包含修改的主题。

接下来,我使用SED修改生成的输出,以使其满足我的变更日志文件的需求。

现在,它发生在主题行中,有多次出现CHGNEWFIX我对该主题的输出如下所示:

DATE NAME FIX first change NEW second change CHG third change

我想我的前缀关键词的所有,但第一次出现以新行,使每个CHGNEW或者FIX开始一个新行:

DATE NAME FIX first change
          NEW second change
          CHG third change

为了达到这个目的,我必须告诉SED什么?

伊坦·赖斯纳

sed 这不是最合适的工具

awk它看起来像这样。

awk '{n=0; for (i=1; i<=NF; i++) {if ($i ~ /(NEW|FIX|CHG)/) {$i=(n++?"\n          ":"")$i}}}7'
  • n=0 (重新)设置一个标志
  • for (i=1; i<=NF; i++) 遍历该行的每个字段
  • if ($i ~ /(NEW|FIX|CHG)/) 如果该字段是标记之一
    • $i=(n++?"\n ":"")$i 通过添加适当的前导空格(或不添加)来更新字段
  • 7 true -y模式以打印出当前行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用sed删除所有行,直到第一列中的第一个匹配项?

来自分类Dev

如何替换除第一个匹配项外的所有匹配字符

来自分类Dev

如何在Powershell中仅删除不带“}”的行的第一个匹配项?

来自分类Dev

sed更改另一个匹配项的第一个匹配项

来自分类Dev

sed以匹配多个匹配项中的第一个模式

来自分类Dev

仅删除sed的第一个匹配项

来自分类Dev

提取符合sed的第一个匹配项

来自分类Dev

如何让`grep -o` 只输出一行中的第一个匹配项?

来自分类Dev

如何在AutoCompleteBox中为第一个匹配项过滤项目列表?

来自分类Dev

如何在多个文件中查找第一个匹配项

来自分类Dev

仅匹配正则表达式行中的第一个匹配项

来自分类Dev

AWK仅匹配多行文本中的行的第一个匹配项

来自分类Dev

PyQuery-attr match仅返回第一个匹配项,而不是所有匹配项

来自分类Dev

preg_match所有第一个匹配项,并在文件中获得两个匹配项

来自分类Dev

使用sed替换文件中的第一个匹配项-为什么要打印后续行?

来自分类Dev

如果第一个匹配项没有行,如何进行条件连接,请使用第二个匹配项

来自分类Dev

仅解析具有多个匹配项的行中的第一个正则表达式匹配项

来自分类Dev

TSQL-从一组行中获取第一个匹配项

来自分类Dev

如何在列表中搜索所有存储在一个大列表中的匹配项

来自分类Dev

获取第一个匹配的元素,如果没有匹配项,则获取第一个?

来自分类Dev

使用“ sed”仅替换第一个和最后一个匹配项

来自分类Dev

选择数据框中带有前缀的变量的第一个匹配项

来自分类Dev

如何替换Scala列表中的第一个匹配项?

来自分类Dev

每当找到类中的第一个匹配项时,如何停止方法.contains()?

来自分类Dev

如何选择CSS中没有特定类的HTML元素的第一个匹配项?

来自分类Dev

仅子查询第一个匹配项

来自分类Dev

NSPredicate仅查找第一个匹配项

来自分类Dev

HtmlAgilityPack仅返回第一个匹配项

来自分类Dev

XSLT选择第一个匹配项

Related 相关文章

  1. 1

    如何使用sed删除所有行,直到第一列中的第一个匹配项?

  2. 2

    如何替换除第一个匹配项外的所有匹配字符

  3. 3

    如何在Powershell中仅删除不带“}”的行的第一个匹配项?

  4. 4

    sed更改另一个匹配项的第一个匹配项

  5. 5

    sed以匹配多个匹配项中的第一个模式

  6. 6

    仅删除sed的第一个匹配项

  7. 7

    提取符合sed的第一个匹配项

  8. 8

    如何让`grep -o` 只输出一行中的第一个匹配项?

  9. 9

    如何在AutoCompleteBox中为第一个匹配项过滤项目列表?

  10. 10

    如何在多个文件中查找第一个匹配项

  11. 11

    仅匹配正则表达式行中的第一个匹配项

  12. 12

    AWK仅匹配多行文本中的行的第一个匹配项

  13. 13

    PyQuery-attr match仅返回第一个匹配项,而不是所有匹配项

  14. 14

    preg_match所有第一个匹配项,并在文件中获得两个匹配项

  15. 15

    使用sed替换文件中的第一个匹配项-为什么要打印后续行?

  16. 16

    如果第一个匹配项没有行,如何进行条件连接,请使用第二个匹配项

  17. 17

    仅解析具有多个匹配项的行中的第一个正则表达式匹配项

  18. 18

    TSQL-从一组行中获取第一个匹配项

  19. 19

    如何在列表中搜索所有存储在一个大列表中的匹配项

  20. 20

    获取第一个匹配的元素,如果没有匹配项,则获取第一个?

  21. 21

    使用“ sed”仅替换第一个和最后一个匹配项

  22. 22

    选择数据框中带有前缀的变量的第一个匹配项

  23. 23

    如何替换Scala列表中的第一个匹配项?

  24. 24

    每当找到类中的第一个匹配项时,如何停止方法.contains()?

  25. 25

    如何选择CSS中没有特定类的HTML元素的第一个匹配项?

  26. 26

    仅子查询第一个匹配项

  27. 27

    NSPredicate仅查找第一个匹配项

  28. 28

    HtmlAgilityPack仅返回第一个匹配项

  29. 29

    XSLT选择第一个匹配项

热门标签

归档