在一个级别的目录中查找所有pdf文件

时间:2014-07-26 19:08:02

标签: bash find cp

我想将目录中的所有pdf文件复制到另一个目录,而不是下一级的pdf文件......

例子来源:

>tree
.
├── bestiole
│   ├── Bestiole_fiche.pdf
│   ├── bestiole_modele.nlogo
│   └── README.txt
├── Bestiole_fiche.pdf
├── bestiole_modele.nlogo
├── christaller
│   ├── Christaller_Fiche.pdf
│   ├── Christaller_Modele.nlogo
│   └── README.txt
├── Christaller_Fiche.pdf
├── Christaller_Modele.nlogo
├── compress_zip.sh
├── epiSim
│   ├── EpiSim_Fiche.pdf
│   ├── EpiSim_Math_Modele.nlogo
│   ├── EpiSim_Modele.nlogo
│   └── README.txt

只移动Bestiole_fiche.pdf,Christaller_Fiche.pdf ......从第一级到另一个目录......我试过了:

find -name "*.pdf" -exec cp -f {} ~/github/maps/fichesPedago/{} \;

它有效但有一些错误...还有更多优雅的东西吗?

感谢的

2 个答案:

答案 0 :(得分:2)

如果您只想要当前目录中的文件,则可以非常简单地执行此操作,而无需使用find

cp *.pdf ~/github/maps/fichesPedago/

或者有什么更复杂的我没看到?

答案 1 :(得分:2)

要控制要遍历的目录级别,请使用maxdepth命令中提供的find选项。有关详细信息,请参阅手册页:man find

find . -maxdepth 1 -type f -name "*.pdf" -exec cp -f {} ~/github/maps/fichesPedago/ \;

您还应该检查mindepth命令的find选项。同时使用maxdepthmindepth非常方便。