3
我試圖執行一個簡單的搜索並在命令行中進行替換。草莓Perl RegEx,Windows 7
我有一個名爲Test1.txt的文件。內容是「今天過得怎麼樣?」
在命令行中,我導航到文本文件所在的文件夾:C:\ perl。
這裏是我發出的命令,並將結果/消息我越來越:
perl -pi.bak -e 's/doing/feeling/g' Test1.txt
這將創建備份,但沒有明顯的變化就是個Test1.txt做,即使它出現的文件被修改就Windows資源管理器而言。
perl -pi.bak -e "BEGIN{@ARGV=<Test1.txt>} s/doing/feeling/g"
這使得變化和創建備份,但我得到的消息: -i在命令行上沒有使用的文件名,從標準輸入
讀書有沒有用使用-i的方式命令行上的文件名?我在其他地方發現了BEGIN語法作爲在Windows中執行此操作的方式,但是在沒有獲取此消息的情況下,沒有其他方法可以做到這一點嗎?
從我讀過的內容來看,雙引號表示解釋,而單引號表示不解釋。但是,不確定在這種情況下有什麼不同。 –
@DrewRush'cmd.exe'不會將單引號視爲字符串分隔符。在上面鏈接的問題的接受答案中有一個很好的解釋。 – ThisSuitIsBlackNot