在目录中我有很多子目录和每个子目录中有许多不同类型的文件。我想从每个子目录中提取具有特定扩展名的所有文件,并将其放在不同的文件夹中。是否有可能写一个bash脚本来做到这一点?如果是这样如何?如何移动只是将文件从嵌套子目录特定的扩展?
1
A
回答
5
如果你有bash的V4和在.profile有
shopt -s globstar
,你可以使用:
mv ./sourcedir/**/*.ext ./targetdir
2
使用查找和一个简单的while循环对子级做到这一点:
find directory -name '*.foo'|while read file; do
mv $file other_directory/
done
这将移动的所有文件与.foo
后缀来other_directory/
5
$ find <directory> -name '*.foo' -exec mv '{}' <other_directory> \;
find
通过目录并递归搜索结构并对其找到的符合搜索条件的任何文件执行给定操作。
在这种情况下,-name '*.foo'
是搜索条件,并-exec mv '{}' <other_directory> \;
告诉find
到上发现的任何文件,其中'{}'
被转换为文件名和\;
表示命令的结束执行mv
。
1
您可以使用找到和xargs的以减少循环或多次调用需要MV。
find /path/to/files -type f -iname \*foo -print0 |
xargs -0 -I{} mv {} /path/to/other/dir
相关问题
- 1. 将具有特定扩展名的文件移动到目录
- 2. 将子目录中的特定文件移动到一个目录 - python
- 3. Gitignore - 如何在特定目录中排除特定扩展名的文件?
- 4. 移动具有特定文件名和扩展名的文件
- 5. 将文件组移动到子目录
- 6. 将文件移动到子目录
- 7. 将文件移动到同一目录中具有旧扩展名的文件
- 8. django从django.po扩展特定邮件的javascript翻译目录
- 9. 移动嵌套文件根目录中的DOS
- 10. 只移动目录中的文件
- 11. 如何将文件从子文件夹移动到其父目录(unix,终端)
- 12. 复制所有子目录中具有特定扩展名的所有文件
- 13. 如何从特定目录中获取具有特定扩展名的所有文件的列表?
- 14. 特定文件扩展名动错误
- 15. 将标题/库/可执行文件移动到特定目录
- 16. 如何过滤TShellListView项目到特定的文件扩展名?
- 17. 在Windows中按扩展名移动特定文件批次
- 18. 如何使用CMD将所有子目录中具有特定扩展名的文件移动到其父文件夹中?
- 19. 如何确定扩展的目录
- 20. 将wordpress实例从子文件夹移动到根目录
- 21. MATLAB:如何将具有特定扩展名的文件复制到文件夹上的一个目录中?
- 22. 将特定扩展名的文件移动到单个压缩归档中
- 23. 重写规则从子目录中删除文件扩展名
- 24. 如何扩展生成文件中的嵌套变量
- 25. 如何:可扩展的嵌套列表?
- 26. PowerShell - 将特定文件从源子文件夹移动到具有相同子文件夹结构的目标
- 27. 如何将具有特定扩展名的文件从一个位置移动到另一个位置?
- 28. 子目录删除扩展
- 29. 如何将目录移动到Linux的子目录中
- 30. 如何将文件从listview移动到目录?
这也适用于zsh的。事实上,它已经因为我记得(像过去十年?),在默认配置下只要我可以告诉工作。 – 2012-07-10 17:05:45