当前位置: 首页 > news >正文

fd查找文件并拷贝

根据您的需求,您希望递归搜索 cmake_out 目录下任意路径中所有以 vela 开头的 .bin 文件,并将它们拷贝到当前目录下的 nuttx 目录。使用 fd 命令可以这样实现:

mkdir -p nuttx && fd -t f -e bin '^vela' ./cmake_out -x cp -v {} ./nuttx

命令详解:

  1. 创建目标目录

    mkdir -p nuttx
    
  2. 搜索并拷贝文件

    fd -t f -e bin '^vela' ./cmake_out -x cp -v {} ./nuttx
    
    • -t f:只搜索文件(排除目录)
    • -e bin:只匹配扩展名为 .bin 的文件
    • '^vela':使用正则表达式匹配以 vela 开头的文件名
    • ./cmake_out:搜索起始目录
    • -x cp -v {} ./nuttx:对每个匹配文件执行拷贝
      • -v:显示拷贝详情(可选,但推荐用于确认操作)
      • {}:自动替换为找到的文件路径

根据您的目录结构优化:

从您的 ll 输出可以看出,文件大多在二级目录(如 p62_ap/p62_audio/ 等)中。如果不需要递归搜索所有子目录,可以限制搜索深度:

# 只搜索二级目录(推荐)
fd -t f -e bin '^vela' -d 2 ./cmake_out -x cp -v {} ./nuttx
  • -d 2:限制搜索深度为 2 级目录(即 cmake_out/一级目录/文件

预期匹配的文件:

根据您的 ll 输出,这个命令将匹配:

cmake_out/p62_ap/vela_ap.bin
cmake_out/p62_audio/vela_audio.bin
cmake_out/p62_audio/vela_audio_image.bin
cmake_out/p62_bootloader2/vela_bl2.bin
cmake_out/p62_cp/vela_cp.bin
cmake_out/p62_cp/vela_cp_image.bin
cmake_out/p62_ota/vela_ota.bin
cmake_out/p62_sensor/vela_sensor.bin

注意事项:

  1. 文件名冲突:如果不同目录有同名文件(如多个 vela_audio.bin),后拷贝的会覆盖前面的
  2. 大小写敏感:默认大小写不敏感,如需严格匹配小写 vela,添加 -s 参数:
    fd -s -t f -e bin '^vela' ./cmake_out -x cp {} ./nuttx
    
  3. 预览结果:先运行不带 -x 的部分确认匹配的文件:
    fd -t f -e bin '^vela' ./cmake_out
    

完整命令(推荐带确认):

# 1. 预览匹配的文件
echo "将拷贝以下文件:" && fd -t f -e bin '^vela' -d 2 ./cmake_out# 2. 实际执行拷贝
mkdir -p nuttx && fd -t f -e bin '^vela' -d 2 ./cmake_out -x cp -v {} ./nuttx

这个命令会:

  1. 精确匹配以 vela 开头的 .bin 文件
  2. 限制在二级目录内搜索(根据您的目录结构优化)
  3. 显示拷贝详情(-v 参数)
  4. 自动创建目标目录(mkdir -p
http://www.lryc.cn/news/571124.html

相关文章:

  • 【启发式算法】RRT算法详细介绍(Python)
  • OSPF 配置全攻略:从基础原理到实战演练
  • python 重要地位
  • UE/Unity/Webgl云渲染推流网址,如何与外部网页嵌套和交互?
  • 答题考试系统小程序ThinkPHP+UniApp
  • NLP学习路线图(五十一):PyTorch/TensorFlow
  • 用C语言实现面向对象思想编写驱动层--以驱动LED为例
  • R情感分析:解码文本中的情感
  • 《从IaaS到容器化:深度解析云计算三层架构与阿里云ECS+K8s协同实践》
  • Web攻防-XSS跨站文件类型功能逻辑SVGPDFSWFHTMLXMLPMessageLocalStorage
  • Jeston orin nano利用SDK Manager安装ubuntu系统
  • 【Mac 上离线安装 ADB 工具】
  • iOS即时通讯发送图片消息内存暴涨优化
  • OpenCV CUDA模块设备层-----用于CUDA 纹理内存(Texture Memory)的封装类cv::cudev::Texture
  • 《计算机网络·自顶向下方法》第 2 章 应用层
  • 六.架构设计之存储高性能——缓存
  • K8S 专栏 —— namespace和Label篇
  • Gödel Rescheduler:适用于云原生系统的全局最优重调度框架
  • 实现汽车焊装线设备互联:DeviceNet与Modbus TCP协议转换网关
  • 10.C S编程错误分析
  • 数字电路研究的是直流信号还是交流信号
  • 远程桌面连接 - 允许电脑从网络外部访问计算机
  • 当 GitLab 服务器网络配置发生变化,如何修改
  • 【Unity笔记】Unity URP 渲染中的灯光数量设置— 场景、使用方法与渲染原理详解
  • 黑龙江亿林数据 - 服务器托管
  • 无人机数据处理系统设计与难点
  • Uniapp插件改造指南:如何让vue-plugin支持HarmonyOS5原生能力?
  • Uniapp 页面路由配置(pages.json)完全指南
  • Attention Backend的认识
  • Node.js 简介(附电子学习资料)