选择方括号()之间的文本并进行操作

Balamurugan A

从问题中,使用sed打印定界符之间的文本,我能够获得方括号之间的文本。但是当我想修改时,我发现困难。有人能帮帮我吗?

简单的情况:

输入:

mutex_lock(rdlock);

输出:在这里,我想在()之前和之后之间打印名称文本,如下所示。

printf("locking rdlock");mutex_lock(rdlock);printf("locked rdlock");

复杂的情况:

输入:

mutex_lock(&in->bq[CPORT].lock);

输出:

printf("locking &in->bq[CPORT].lock");mutex_lock(&in->bq[CPORT].lock);printf("locked &in->bq[CPORT].lock");

在此先感谢许多人。

nu11p01n73R

就像是

sed  's/\(.*(\(.*\));\)/printf ("locking \2");\n\1\nprintf("locked \2");/g'

测试

$ echo  "mutex_lock(rdlock);" | sed  's/\(.*(\(.*\));\)/printf ("locking \2");\n\1\nprintf("locking \2");/g'
printf ("locked rdlock");
mutex_lock(rdlock);
printf("locking rdlock");

$ echo  "mutex_lock(&in->bq[CPORT].lock);" | sed  's/\(.*(\(.*\));\)/printf ("locking \2");\n\1\nprintf ("locking \2");/g'
printf ("locking &in->bq[CPORT].lock");
mutex_lock(&in->bq[CPORT].lock);
printf ("locking &in->bq[CPORT].lock");

编辑

确切地说

sed  's/\(mutex_lock(\(.*\));\)/printf ("locking \2");\n\1\nprintf ("locking \2");/g'

测试

echo  "mutex_lock(&in->bq[CPORT].lock);" | sed  's/\(mutex_lock(\(.*\));\)/printf ("locking \2");\n\1\nprintf ("locking \2");/g'
printf ("locking &in->bq[CPORT].lock");
mutex_lock(&in->bq[CPORT].lock);
printf ("locking &in->bq[CPORT].lock");

为了提高安全性,您可以编写

sed -r  's/(mutex_lock\(([^)]*)\);)/printf ("locking \2);\n\1\nprintf ("locking \2");/g'
  • [^)]negatec字符类。会匹配任何其他东西)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Emacs中选择引号,方括号之间的文本?

来自分类Dev

删除方括号之间的文本

来自分类Dev

PHP Regex替换方括号和方括号之间的文本

来自分类Dev

Javascript / regex:删除方括号之间的文本

来自分类Dev

JS提取方括号标记之间的文本

来自分类Dev

C#在方括号之间获取文本

来自分类Dev

JS提取方括号标记之间的文本

来自分类Dev

使用str_extract在两个方括号之间选择文本

来自分类Dev

在 Hive 中选择方括号和引号之间的值

来自分类Dev

如何提取以特殊顺序位于方括号之间的文本?

来自分类Dev

删除两个方括号之间的所有文本

来自分类Dev

如何使用String.split提取方括号之间的文本

来自分类Dev

使用NLTK RegexpTokenizer删除方括号之间的文本

来自分类Dev

删除方括号之间包含特定文本的所有行

来自分类Dev

在PHP中提取方括号之间的特定文本

来自分类Dev

目标C:在方括号之间拆分文本

来自分类Dev

删除两个方括号之间的所有文本

来自分类Dev

使用Intellij通过键盘或鼠标在括号()或方括号[]或大括号{}之间选择块

来自分类Dev

如何在使用正则表达式标记化包含方括号的同时找到方括号之间的文本

来自分类Dev

方括号内文本的意义

来自分类Dev

在方括号后获取文本

来自分类Dev

从方括号中提取文本

来自分类Dev

在圆括号和方括号之间捕获

来自分类Dev

双方括号之间文本的正则表达式,但不在连字符之间

来自分类Dev

删除方括号之间没有空格的方括号

来自分类Dev

删除方括号之间没有空格的方括号

来自分类Dev

如何获取带有正则表达式的方括号之间包含的文本?

来自分类Dev

提取方括号内的2个文本之间的字符串

来自分类Dev

如何使用正则表达式在方括号之间添加文本链接

Related 相关文章

  1. 1

    如何在Emacs中选择引号,方括号之间的文本?

  2. 2

    删除方括号之间的文本

  3. 3

    PHP Regex替换方括号和方括号之间的文本

  4. 4

    Javascript / regex:删除方括号之间的文本

  5. 5

    JS提取方括号标记之间的文本

  6. 6

    C#在方括号之间获取文本

  7. 7

    JS提取方括号标记之间的文本

  8. 8

    使用str_extract在两个方括号之间选择文本

  9. 9

    在 Hive 中选择方括号和引号之间的值

  10. 10

    如何提取以特殊顺序位于方括号之间的文本?

  11. 11

    删除两个方括号之间的所有文本

  12. 12

    如何使用String.split提取方括号之间的文本

  13. 13

    使用NLTK RegexpTokenizer删除方括号之间的文本

  14. 14

    删除方括号之间包含特定文本的所有行

  15. 15

    在PHP中提取方括号之间的特定文本

  16. 16

    目标C:在方括号之间拆分文本

  17. 17

    删除两个方括号之间的所有文本

  18. 18

    使用Intellij通过键盘或鼠标在括号()或方括号[]或大括号{}之间选择块

  19. 19

    如何在使用正则表达式标记化包含方括号的同时找到方括号之间的文本

  20. 20

    方括号内文本的意义

  21. 21

    在方括号后获取文本

  22. 22

    从方括号中提取文本

  23. 23

    在圆括号和方括号之间捕获

  24. 24

    双方括号之间文本的正则表达式,但不在连字符之间

  25. 25

    删除方括号之间没有空格的方括号

  26. 26

    删除方括号之间没有空格的方括号

  27. 27

    如何获取带有正则表达式的方括号之间包含的文本?

  28. 28

    提取方括号内的2个文本之间的字符串

  29. 29

    如何使用正则表达式在方括号之间添加文本链接

热门标签

归档