用于列出当前文件夹和子文件夹中的所有图像并将它们复制到一个文件夹中的 shell 脚本?

标签 shell

我有一些文件夹层次结构,在一些文件夹中有图像,我需要一个shell脚本,它可以列出所有图像并将它们复制到一个指定的文件夹中,列出它们并不重要,我只想复制所有图像到一个文件夹?

我知道我可以

ls -R *.png

但是如何将它们全部复制到一个文件夹中呢?

谢谢!

最佳答案

更新:正如 glenn jackman 所指出的,与我提供的答案相比,这会稍微更有效率:

file . -type f -name \*.png | xargs cp -t destination

有关解释,请参阅 glenn 在该答案之后的评论。


一种方法是使用 find :

find . -type f -name "*.png" -exec cp {} ~/path/to/your/destination/folder \;

解释:

  • find用于查找文件/目录
  • .从当前工作目录开始查找(或者,您可以指定路径)
  • -type f : 只考虑文件(而不是目录)
  • -name "*.png" : 只考虑带有 png 扩展名的
  • -exec :对于找到的每个这样的结果,做一些事情(见下文)
  • cp {} ~/path/to/your/destination/folder \; :这是做某事的部分:将找到的每个此类结果(代入 {} )复制到指定的目的地。

关于用于列出当前文件夹和子文件夹中的所有图像并将它们复制到一个文件夹中的 shell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13447513/

相关文章:

node.js - 如何在运行 docker 容器时更新配置文件(.env 文件)

bash - 如何使用 bash 脚本输出提交次数?

linux - 如何使用 cut 命令从一行中获取一些特定的单词

shell - 使用 POST 在 curl 命令中传递带空格的值

ruby - 输出到 Shell 提示符时 Ruby 中的制表符问题

linux - 带有 while 循环的 Bash 脚本,直到满足动态条件

linux - 在linux中搜索特定值并在未排序的数据中进行计数

python - 从脚本 python 获取变量环境的变化

linux - 如何在unix中获取进程名称

linux - 格式化awk的输出