我使用
运行了一个perl脚本perl -p -i.bak -e "..." *.sh dir/*.sh
这创建了每个文件的副本,如
script.sh
script.sh.bak
我现在想要从.bak
文件中恢复。我怎么能这么容易地做到这一点?
答案 0 :(得分:7)
for file in *.sh.bak dir/*.sh.bak; do cp "$file" "${file//.bak}"; done
或者您可以使用mv
代替cp
。
答案 1 :(得分:2)
find -name '*.bak'|sed 's:.bak$::'|xargs -n 1 -I % cp %.bak %
答案 2 :(得分:0)
感谢您的解决方案。
我一直在使用下面的代码组合来修复Joomla网站中的'eval(base64_decode')。
查找: grep -lr --include = * .php“eval(base64_decode”./
删除: grep -lr --include = .php“eval(base64_decode”./ | xargs sed -i.bak的/ eval(base64_decode [^;]; / \ n / g'
撤消: find -name'* .bak'| sed's:.bak $ ::'| xargs -n 1 -I%cp%.bak%