[英]How to delete specfic text in a file using a perl one liner?
我正在嘗試在XML文件中查找一些文本,並僅刪除包含該文本的行的一部分。
我發現嘗試這種格式: perl -p -i -e "s/$1/$2/g" $3
經過一些代碼搜索。
所以我正在使用以下代碼:
perl -p -i.bak -e "s/\'../../../specialText/\'//g" "C:/box/fileName.XML";
我想做的是從內部單引號中刪除所有內容,例如: '../../../specialText/' ,但是使用q()或\\'轉義引號不起作用,我不確定..也不會搞亂事情。 我猜想不輸入任何內容作為文本替換將正確刪除它,但是我不確定。
錯誤是:
反斜杠在-e第1行的“ / specialText / \\”附近找到了運算符的預期位置
(在\\?之前缺少運算符)-e行1上“ / specialText / \\”附近的語法錯誤
如何重寫此襯板以實現此目的?
這可行。
C:\box>perl -p -i.bak -e s/Copyright/bar/g Test.txt
我在另一個文件上嘗試過,所以現在我只需要使用它來修改我的原始文件。
使用另一組定界符有什么問題?
perl -p -i.bak -e "s{'../../../specialText/'}{}g" "C:/box/fileName.XML"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.