我試圖在XML文件中找到一些文本,並刪除只有一行的一部分。
我發現這種格式嘗試:perl -p -i -e "s/$1/$2/g" $3
一些代碼搜索後。如何使用perl one liner刪除文件中的特定文本?
所以我用這個代碼:
perl -p -i.bak -e "s/\'../../../specialText/\'//g" "C:/box/fileName.XML";
我想要做的就是刪除一切從內單引號,如: 「../../../specialText/」,但使用q()或\'來逃避報價不起作用,我不確定..'s是不是搞砸了事情。我猜測,如果不將任何東西放入文本替換內容中,將會將其正確刪除,但我不確定。
的錯誤是:(?之前缺少操作符\)
反斜槓發現其中運營商預計將在-e 1號線,近 「/ SPECIALTEXT/\」
在 語法錯誤 - e行1,接近 「/ SPECIALTEXT/\」
- 無法找到字符串結束 「'」 在-e行EOF之前的任何地方1.
如何重寫這一個班輪來完成這個?
This works。
C:\box>perl -p -i.bak -e s/Copyright/bar/g Test.txt
我試圖在另一個文件,所以現在我只是發揮它改變我原來的。
我越來越沒有這樣的文件或目錄。我在Windows 7盒子上使用ActivePerl。這是一個設置問題嗎? – 2012-03-05 21:08:21
然後檢查文件名,因爲代碼有效。 )順便說一句,當測試這個單線程時,發生在我身上;原來我把.pl文件和.pdf文件混淆了。 ) – raina77ow 2012-03-05 21:11:43
我把分號';'在語句的結尾處,當您運行命令行時不需要該語句。 – 2012-03-06 01:13:09