bash - Shell / Bash - 如果我能找到文件,我怎样才能将它们复制到映射驱动器?
问题描述
我有一个命令可以在我的 linux 机器上找到所有 .png 图像文件,但是我可以添加一些东西来将每个文件复制到我设置的映射驱动器/位置吗?
查找 .png 的代码在这里。
find / -type f -exec file --mime-type {} \; | awk '{if ($NF == "image/png") print $0 }'
机器上映射的驱动如下,通过df -h报告
/mnt/nas
解决方案
如果您需要检查 MIME 类型,请在您的命令之后,通过 using 提取文件名部分并通过usingsed
执行。cp
xargs
find / -type f -exec file --mime-type {} \; | awk '{if ($NF == "image/png") print $0 }' \
| sed 's/:.\+$//' | xargs -i cp -p {} /mnt/nas
如果您可以通过扩展名确定文件类型.png
,则命令如下:
find / -name '*.png' -exec cp -p {} /mnt/nas \;
或者
find / -name '*.png' | xargs -i cp -p {} /mnt/nas
请注意,我只检查了 GNU bash 上的命令。
推荐阅读
- spring-boot - springboot LaunchedURLClassLoader throws error class超过了JVM支持的最大类大小(常量池太大)
- azure - 如何从 Azure DevOps 中的构建管道创建更改集以将某些文件推送到我的存储库
- react-native - Expo React Native 找不到模块'./assets/empty-module.js'
- terraform - 升级 terraform 提供程序会导致“状态中的资源实例数据无效”错误
- java - 在 Java 中用流 api 替换多个 FOR 循环的最佳方法
- npm - Verdaccio,npm 离线
- r - 正则表达式 - 使用 (1) 连字符或 (2) 句尾过滤
- python - 用 int 填充 pandas 数据框 - TypeError
- c++ - “在函数中:未定义的引用”静态库错误
- python - 在 kivy 弹出窗口中选择文件时出现索引错误