在命令行上运行perl -e时必须转义哪些字符

公鸡

我在命令行上运行perl -e以使用perls regex功能来查找并替换许多文件中的字符串。但是,我已经在脚本中测试了我的正则表达式以及许多正则表达式测试器,但是它似乎无法在命令行上运行。所以我开始怀疑是否因为它的命令行需要转义多余的字符。例如,我知道$当我将其用作变量时必须转义,因此我认为也许我的命令中需要使用它。我正在使用linux。

这是我的命令:

perl -pi -w -e 's/"flags" : {[^"]+"CP" : 1[^"]+"prop_name" : "ID"[^:]+: "SKU"/"flags" : {          "SET" : 1       },       "prop_name" : "ID",       "rule" : "SKU+ProductId"/gms;' *_input.xml

我正在尝试匹配以下部分:

   {
      "flags" : {
         "CP" : 1
      },
      "prop_name" : "ID",
      "rule" : "SKU"
   },

这样内部变为:

   {
      "flags" : {
         "SET" : 1
      },
      "prop_name" : "ID",
      "rule" : "SKU+ProductId"
   },
格里布奈克

这对您有用吗?当您执行多行匹配时,但是perl单行一次匹配一行,一旦在输入文件中命中换行符,该模式就会失败。

perl -0777 -pi -w -e 's/"flags" : {[^"]+"CP" : 1[^"]+"prop_name" : "ID"[^:]+: "SKU"/"flags" : {          "SET" : 1       },       "prop_name" : "ID",       "rule" : "SKU+ProductId"/gms;' *_input.xml

添加-0777使perl使用整个文件进行输入。有关更多信息,请参见perlrun

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

perl @ARGV在命令行上运行,但从其他应用程序传递时则不行

来自分类Dev

命令行参数中需要转义哪些字符?

来自分类Dev

从命令行运行mfp时在Mac上找不到命令错误

来自分类Dev

运行Perl单行代码时Windows cmd如何转换命令行?

来自分类Dev

通过命令行运行cron时出现Perl错误?

来自分类Dev

程序在Eclipse中运行良好,但在命令行上运行Jar时抛出错误

来自分类Dev

在Perl regex模式中必须转义哪些字符

来自分类Dev

Perl:当我从命令行运行“ perl”时,什么都没有发生

来自分类Dev

Perl:当我从命令行运行“ perl”时,什么都没有发生

来自分类Dev

在命令行上运行cmd时,npm run cmd失败

来自分类Dev

在命令行上运行scala jar时如何指定其他主类?

来自分类Dev

在命令行上运行MSTest时,测试失败,但在VS2012中通过

来自分类Dev

在命令行上运行“ dir / b / s”时如何使用结果创建新目录

来自分类Dev

在命令行上运行Apache Ignite时无法创建Ignite组件

来自分类Dev

从PHP进行查询时,SQL的UPDATE请求失败,但在SQL命令行上运行良好

来自分类Dev

在命令行上运行节点 js 文件时找不到模块

来自分类Dev

Perl命令行解释器在退出时崩溃

来自分类Dev

如何在Windows命令行上转义空格?

来自分类Dev

Docker命令行中的转义字符

来自分类Dev

哪些命令行工具可以在Windows上生成密码?

来自分类Dev

“命令行太长”-运行Maven测试时

来自分类Dev

运行Ruby脚本时命令行未返回

来自分类Dev

从命令行调用mount时自动运行fsck

来自分类Dev

“命令行太长”-运行Maven测试时

来自分类Dev

从命令行运行 iPython nbconvert 时超时

来自分类Dev

如果我从命令行在root pom上运行插件,那么遍历模块时该怎么做?

来自分类Dev

如何在bash命令行上运行make脚本?(在学习时很有用)

来自分类Dev

从命令行运行 .py 文件时 np.random.permutation 上的 ValueError 但不在 juypter notebook 中

来自分类Dev

Windows上MySQL命令行中的非英语字符

Related 相关文章

  1. 1

    perl @ARGV在命令行上运行,但从其他应用程序传递时则不行

  2. 2

    命令行参数中需要转义哪些字符?

  3. 3

    从命令行运行mfp时在Mac上找不到命令错误

  4. 4

    运行Perl单行代码时Windows cmd如何转换命令行?

  5. 5

    通过命令行运行cron时出现Perl错误?

  6. 6

    程序在Eclipse中运行良好,但在命令行上运行Jar时抛出错误

  7. 7

    在Perl regex模式中必须转义哪些字符

  8. 8

    Perl:当我从命令行运行“ perl”时,什么都没有发生

  9. 9

    Perl:当我从命令行运行“ perl”时,什么都没有发生

  10. 10

    在命令行上运行cmd时,npm run cmd失败

  11. 11

    在命令行上运行scala jar时如何指定其他主类?

  12. 12

    在命令行上运行MSTest时,测试失败,但在VS2012中通过

  13. 13

    在命令行上运行“ dir / b / s”时如何使用结果创建新目录

  14. 14

    在命令行上运行Apache Ignite时无法创建Ignite组件

  15. 15

    从PHP进行查询时,SQL的UPDATE请求失败,但在SQL命令行上运行良好

  16. 16

    在命令行上运行节点 js 文件时找不到模块

  17. 17

    Perl命令行解释器在退出时崩溃

  18. 18

    如何在Windows命令行上转义空格?

  19. 19

    Docker命令行中的转义字符

  20. 20

    哪些命令行工具可以在Windows上生成密码?

  21. 21

    “命令行太长”-运行Maven测试时

  22. 22

    运行Ruby脚本时命令行未返回

  23. 23

    从命令行调用mount时自动运行fsck

  24. 24

    “命令行太长”-运行Maven测试时

  25. 25

    从命令行运行 iPython nbconvert 时超时

  26. 26

    如果我从命令行在root pom上运行插件,那么遍历模块时该怎么做?

  27. 27

    如何在bash命令行上运行make脚本?(在学习时很有用)

  28. 28

    从命令行运行 .py 文件时 np.random.permutation 上的 ValueError 但不在 juypter notebook 中

  29. 29

    Windows上MySQL命令行中的非英语字符

热门标签

归档