我做错了什么,但无法弄清楚是什么。我正在尝试将文件夹(文件夹A)中的所有文件移动到另一个文件夹(文件夹B)中,而没有任何子目录并且排除某些文件
当我在文件夹中时,运行...
cd folderA
find . -path './*' -prune -not \( -name "file1.php" -o -name "file2.txt" \) -type f -exec mv -f {} ~/folderB/ \;
那很好。但是我想在bash脚本中运行上述find命令,并且不想去该文件夹,所以我尝试了...
find ~/folderA/ -path './*' -prune -not \( -name "file1.php" -o -name "file2.txt" \) -type f -exec mv -f {} ~/folderB/ \;
什么都没有!我在做什么错了。
预先感谢
答案 0 :(得分:0)
将上面的命令剥离后,我发现了问题。由于某些原因,-path './*' -prune
在直接文件夹之外无法使用。这是我用来使其在文件夹本身之外运行的命令...
find ~/folderA/ -maxdepth 1 -not \( -name "file1.php" -o -name "file2.txt" \) -type f -exec mv -f {} ~/folderB/ \;
同样,不确定-maxdepth 1
会否适用于其他方法,但确实可以。
仅供参考...如果您想进一步进入子目录,可以通过更改1
值