从目录与另一个目录运行查找命令

时间:2019-01-21 00:06:16

标签: find mv

我做错了什么,但无法弄清楚是什么。我正在尝试将文件夹(文件夹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/ \;

什么都没有!我在做什么错了。

预先感谢

1 个答案:

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