繁体   English   中英

在Red Hat Linux中使用sed替换文本

[英]Using sed in red hat linux to replace text

我在目录中有一些XML文件,它们都包含标签: <difficult>0</difficult> 我只想将其更改为<difficult>1</difficult>

我正在使用以下命令:

sed 's/difficult>0/difficult>1/g' *.xml

所发生的一切就是显示了所有文件的完整XML文本,其中difficult标记显示的值为1,但实际文件没有任何反应。 当我打开它们时,它们仍然都包含<difficult>0</difficult>

是的, sed通常将其结果放在stdout 要就地更改文件,请使用-i标志:

  -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied) 

再一次 :)

不要使用正则表达式来解析HTML。 使用适当的解析器和

xml ed -L -u '//difficult/text()' -v "1" file

xml

检查: RegEx匹配除XHTML自包含标签之外的其他打开标签

sed -i 's/difficult>0/difficult>1/g' *.xml

用sed更改文件中的字符串?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM