制作匹配模式的几个文件的备份副本



我有文件: x0001_test.xml z0054_test.xml k5487_test.xml ....

我想保存他们做以下操作: cp *_test.xml ${BEGINNING}_test.xml.SAVE

BASH脚本中是否有一种方法可以为每个文件存储*的内容以在之后重新注射?还是我应该使用循环?

做一个循环可能足够微不足道,不需要单独的单行命令。您不需要保存文件名的部分,因为您只是将 .SAVE添加到 thote thick:

for fspec in *_test.xml; do
    cp "${fspec}" "${fspec}.SAVE"
done

,无论如何,如果您真的想要,则可以在一行中进行:

for fspec in *_test.xml; do cp "${fspec}" "${fspec}.SAVE" ; done

@paxdiablo给您最直接的答案。另一个选项

printf "%s" *_test.xml | xargs -0 -L1 -I{}  cp {} {}.SAVE
find . -name *_test.xml -exec  cp {} {}.SAVE ;

这是您假定您有GNU XARGS,并且查找命令可能会在子目录中找到匹配的文件。

最新更新