恢复.bak文件

时间:2012-05-29 07:31:16

标签: linux bash shell

我使用

运行了一个perl脚本
perl -p -i.bak -e "..." *.sh dir/*.sh

这创建了每个文件的副本,如

script.sh
script.sh.bak

我现在想要从.bak文件中恢复。我怎么能这么容易地做到这一点?

3 个答案:

答案 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%