簡體   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