我有点陷入困境。我想将某些文件从一个目录复制到另一个目录(非递归)。
我有多个文件,其中包含.txt
,.so
,.so.mem
,.so.lib
,.lib
等扩展程序以及名为{{1}的目录中的多个目录}。我想非递归地(仅从基本目录)将所有文件复制到另一个名为base
的目录。
我做了以下事情:
test
在上面的尝试中,除了Try 1
pushd $base
find -not -name '*.so' -not -name '*.so.*' -type f -print() -exec rm -f {} +
cp -f $base/* $test
以外,所有查找都已删除所有内容,即使我已编写.so
,即文件-not -name '*.so.*'
和.so.mem
也不应删除。
我做错了吗?
答案 0 :(得分:0)
如果我理解正确,那就是你想要的:
mkdir test
# move all required files to the 'test' directory
mv base/*.txt base/*.so base/*.so.* base/*.lib test
# delete all remaining files from the 'base' directory
rm base/*
最后,您将拥有一个空base
目录(假设没有隐藏文件)和test
目录,其中包含*.txt
,*.so
和{{1}文件。