今天学习perl , 写了一个查找并替换文件中字符串的语句。(windows环境)如下:
% perl -p -i -e "s/sysread/read/g" file //这句话的意思是说把文件中存在的sysread替换成read
执行之后,报错。如下:
Can't do inplace edit without backup.
于是上网找解决办法,找到了一个合适的解决方法
% perl -p -i".bak" -e "s/sysread/read/g" file
原因是perl在修改文件时,为了避免误操作,所以必须把原文件先备份,然后再修改。
写下此文,供遇到此问题的朋友参考。