为什么我的多行perl字符串代替添加空白行?

G_Diggity

我试图用单独的文本文件的内容替换文本文件(具有未知数目的子代的XML元素)中的多行。我已经设法使用perl进行替换,但大多数情况下都可以使用perl进行替换,但是它在替换的字符串之后要插入的空白行中插入了一个我希望摆脱的空白行。请参阅下面的代码,其中显示了perl命令以及输入和替换文件。

有人知道如何防止出现额外的空白行吗?如果需要,我愿意使用perl之外的其他工具。

==> cat test.xml
<root>
<values>
<value>1</value>
<value>2</value>
<value>3</value>
</values>
</root>
==> cat replace.xml
<values>
<value>4</value>
<value>5</value>
</values>
==> perl -i -p0e 's;<values>.*<\/values>;`cat replace.xml`;sge' test.xml
==> cat test.xml
<root>
<values>
<value>4</value>
<value>5</value>
</values>

</root>
==> 
G_Diggity

一整天都在搞乱之后,我在这里问了这个问题后几乎立刻就想出了...

我能够通过在perl命令的搜索条件中包括换行符来解决此问题。看起来好像只是关闭了xml标记之后已经在该行上的换行符,然后从“ cat”命令中添加了另一个。

perl -i -p0e 's;<values>.*<\/values>\n;`cat replace.xml`;sge' test.xml

编辑:感谢mosvy的响应,我找到了另一个解决方案,如果要替换的文本没有尾随换行符,那么该解决方案将起作用:

perl -i -p0e 's;<values>.*<\/values>;`head -c -1 replace.xml`;sge' test.xml

使用head而不是cat防止输出额外的换行符

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我尝试以相反的顺序打印字符串时,为什么我的C程序会打印新的空白行?

来自分类Dev

Golang惯用方式从多行字符串中删除空白行

来自分类Dev

为什么在我的Perl脚本打印输出中打印空白行

来自分类Dev

在模式“字符串”匹配之前和之后添加空白行

来自分类Dev

为什么我的RegEx代码代替了某些字符串,而不是其他字符串?

来自分类Dev

通过空白行增强拆分字符串

来自分类Dev

如何在空白行上爆炸字符串?

来自分类Dev

为什么JSON在我的字符串中添加+?

来自分类Dev

我可以在 bash shell 变量中分配一个以多个空白行结尾的字符串吗?

来自分类Dev

为什么我不能用字符串中的空格代替元音?

来自分类Dev

为什么我在JavaScript多行字符串中收到“错误解析...”?

来自分类Dev

在一组多行之间添加空白行 - Oracle

来自分类Dev

向我的数据库行之一添加字符串-为什么这不起作用?

来自分类Dev

在python中的每个空白行上插入一个新行字符串

来自分类Dev

sed在搜索字符串下方插入空白行,然后在下一行插入字符串

来自分类Dev

为什么我的 ASPxGridView 显示空白行而不是我提供的值?

来自分类Dev

我想知道为什么我的代码在 XML 信息之间产生空白行?

来自分类Dev

为什么是多行字符串,但为什么不在多行打印此ASCII艺术作品?

来自分类Java

用字符串代替空白

来自分类Dev

在以不同数字开头的字符串之间插入空白行

来自分类Dev

删除每个字符串后出现的空白行

来自分类Dev

如何根據空行/空白行拆分字符串?

来自分类Dev

为什么xargs -0添加一个额外的空白行?

来自分类Dev

为什么我不能将字符添加到新字符串?

来自分类Dev

为什么我的 JTextArea 没有从我的字符串中添加换行符?

来自分类Dev

为什么TypeScript允许我添加字符串和数字?我可以预防吗?

来自分类Dev

当转换为库.DLL时,如何停止在MyLabel.Text中放置了嵌入式vbCrLf的字符串添加空白行

来自分类Dev

为什么字符串 'text2' 的输出是空白的?

来自分类Dev

当我尝试添加拆分后的字符串时,为什么会得到空字符串?

Related 相关文章

  1. 1

    当我尝试以相反的顺序打印字符串时,为什么我的C程序会打印新的空白行?

  2. 2

    Golang惯用方式从多行字符串中删除空白行

  3. 3

    为什么在我的Perl脚本打印输出中打印空白行

  4. 4

    在模式“字符串”匹配之前和之后添加空白行

  5. 5

    为什么我的RegEx代码代替了某些字符串,而不是其他字符串?

  6. 6

    通过空白行增强拆分字符串

  7. 7

    如何在空白行上爆炸字符串?

  8. 8

    为什么JSON在我的字符串中添加+?

  9. 9

    我可以在 bash shell 变量中分配一个以多个空白行结尾的字符串吗?

  10. 10

    为什么我不能用字符串中的空格代替元音?

  11. 11

    为什么我在JavaScript多行字符串中收到“错误解析...”?

  12. 12

    在一组多行之间添加空白行 - Oracle

  13. 13

    向我的数据库行之一添加字符串-为什么这不起作用?

  14. 14

    在python中的每个空白行上插入一个新行字符串

  15. 15

    sed在搜索字符串下方插入空白行,然后在下一行插入字符串

  16. 16

    为什么我的 ASPxGridView 显示空白行而不是我提供的值?

  17. 17

    我想知道为什么我的代码在 XML 信息之间产生空白行?

  18. 18

    为什么是多行字符串,但为什么不在多行打印此ASCII艺术作品?

  19. 19

    用字符串代替空白

  20. 20

    在以不同数字开头的字符串之间插入空白行

  21. 21

    删除每个字符串后出现的空白行

  22. 22

    如何根據空行/空白行拆分字符串?

  23. 23

    为什么xargs -0添加一个额外的空白行?

  24. 24

    为什么我不能将字符添加到新字符串?

  25. 25

    为什么我的 JTextArea 没有从我的字符串中添加换行符?

  26. 26

    为什么TypeScript允许我添加字符串和数字?我可以预防吗?

  27. 27

    当转换为库.DLL时,如何停止在MyLabel.Text中放置了嵌入式vbCrLf的字符串添加空白行

  28. 28

    为什么字符串 'text2' 的输出是空白的?

  29. 29

    当我尝试添加拆分后的字符串时,为什么会得到空字符串?

热门标签

归档