如何用增量编号替换匹配行中的所有第一次出现?

欧克

我有一个像这样的文件

...
1562 first part
1563 H     col3 H col4
1564 H     col3 H col4
...
3241 H     col3 H col4
3242 third part
...

我只想替换第一个H在每一行H#,与#是其外观的数量。输出应为:

...
1562 first part
1563 H1    col3 H col4
1564 H2    col3 H col4
...
3241 H1652 col3 H col4
3242 third part
...

到目前为止,我已经尝试过:

max=`grep -c ' H ' b`
while [[ "$i" -le $max ]];do
  grep -m $i ' H ' b|tail -n1|sed "s/H/H$i/1"
  let i=i+1
done

这段代码很慢,它需要读取每一行来替换,并且不能添加文件的第一部分和第三部分。有没有更好的方法可以做到这一点?也许awk?谢谢你。

例如,您可以使用以下命令:

$ awk '/H/{sub("H", "H"++v)}1' file
1562 first part
1563 H1     col3 H col4
1564 H2     col3 H col4

3241 H3     col3 H col4
3242 third part
...

这看起来对含有这些线路H和替换HH具有可变我们一起不断递增。请注意gsub()sub()如果您想在所有匹配的模式中执行此更改,则可以只使用一种,而不用。

最后1一个条件是真实的,因此它将执行默认的awk动作:{print $0},即打印整行。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在SQL中的所有行中第一次出现?

来自分类Dev

用sed替换文件中所有行的模式中第一次出现的模式

来自分类Dev

用sed替换文件中所有行的模式中第一次出现的模式

来自分类Dev

如何只匹配行中第一次出现的空间

来自分类Dev

在熊猫数据框中第一次出现条件之前删除所有行

来自分类Dev

如何用逗号替换第一次出现的空格?

来自分类Dev

如何用第一次出现的逗号替换字符串列表?

来自分类Dev

包括第一次和最后一次出现之间的所有行

来自分类Dev

如何仅在第一次出现结束字符串之前替换所有内容?

来自分类Dev

替换除Python中第一次出现的子字符串以外的所有内容?

来自分类Dev

从文件中删除字段中具有重复值的所有行,包括第一次出现的行

来自分类Dev

在一行中第一次出现字符串后删除所有行

来自分类Dev

替换每行中的第一次出现

来自分类Dev

如何删除字符串的第一次出现和最后一次出现之后的所有行?

来自分类Dev

删除第一次出现值之前的所有行

来自分类Dev

Python PANDAS:第一次出现列值后删除所有行

来自分类Dev

如何替换字符串中第一次出现的子字符串?

来自分类Dev

sed替换第一次出现参数的所有内容,而第二次出现的内容则不替换任何内容

来自分类Dev

如何搜索字符串中第一次出现的“:/”,然后搜索找到的子字符串的所有其他出现,包括“:/”?

来自分类Dev

QString只替换第一次出现

来自分类Dev

Powershell-替换第一次出现的String

来自分类Dev

pd.Series替换第一次出现

来自分类Dev

Powershell-替换第一次出现的String

来自分类Dev

仅替换第一次出现

来自分类Dev

查找并替换第一次出现的空格

来自分类Dev

只替换第一次出现的单词

来自分类Dev

Rails路线:匹配第一次出现

来自分类Dev

RedirectMatch - 停止匹配第一次出现

来自分类Dev

在 dplyr 中使用 filter() 查找第一次出现的 grepl 值并返回它和所有后续行

Related 相关文章

  1. 1

    如何在SQL中的所有行中第一次出现?

  2. 2

    用sed替换文件中所有行的模式中第一次出现的模式

  3. 3

    用sed替换文件中所有行的模式中第一次出现的模式

  4. 4

    如何只匹配行中第一次出现的空间

  5. 5

    在熊猫数据框中第一次出现条件之前删除所有行

  6. 6

    如何用逗号替换第一次出现的空格?

  7. 7

    如何用第一次出现的逗号替换字符串列表?

  8. 8

    包括第一次和最后一次出现之间的所有行

  9. 9

    如何仅在第一次出现结束字符串之前替换所有内容?

  10. 10

    替换除Python中第一次出现的子字符串以外的所有内容?

  11. 11

    从文件中删除字段中具有重复值的所有行,包括第一次出现的行

  12. 12

    在一行中第一次出现字符串后删除所有行

  13. 13

    替换每行中的第一次出现

  14. 14

    如何删除字符串的第一次出现和最后一次出现之后的所有行?

  15. 15

    删除第一次出现值之前的所有行

  16. 16

    Python PANDAS:第一次出现列值后删除所有行

  17. 17

    如何替换字符串中第一次出现的子字符串?

  18. 18

    sed替换第一次出现参数的所有内容,而第二次出现的内容则不替换任何内容

  19. 19

    如何搜索字符串中第一次出现的“:/”,然后搜索找到的子字符串的所有其他出现,包括“:/”?

  20. 20

    QString只替换第一次出现

  21. 21

    Powershell-替换第一次出现的String

  22. 22

    pd.Series替换第一次出现

  23. 23

    Powershell-替换第一次出现的String

  24. 24

    仅替换第一次出现

  25. 25

    查找并替换第一次出现的空格

  26. 26

    只替换第一次出现的单词

  27. 27

    Rails路线:匹配第一次出现

  28. 28

    RedirectMatch - 停止匹配第一次出现

  29. 29

    在 dplyr 中使用 filter() 查找第一次出现的 grepl 值并返回它和所有后续行

热门标签

归档