bash - BASH 根据部分文件名将文件移动到相应的目录中
问题描述
我有名称相似但 ID 不同的文件:
T1_6269.dwi.RAS.correct.atlas.FA.smooth2.0mm.nii.gz
T1_6270.dwi.RAS.correct.atlas.FA.smooth2.0mm.nii.gz
.
.
我还有一些文件夹,我需要根据前 7 个字符将每个文件传输到其中。示例文件夹:
T1_6269
T1_6270
.
.
我尝试使用 mv * 和 cp * 但继续将所有文件移动到一个目录中。帮助表示赞赏。
解决方案
您可以编写for
循环和解析文件名。例如:
for f in *; do id=${f:0:7}; mv $f $id/; done
推荐阅读
- javascript - 只知道要访问的索引修改动态嵌套数组
- erlang - 基本的 Erlang 模块问题
- r - 在 R 中处理日期时替换嵌套的 ifelse
- php - PHP 警告:模块 'gd' 已在第 0 行的未知中加载
- git - Git 显示每个作者每个文件的代码行数
- php - YII2 Active Form 显示自定义验证消息
- reactjs - 如何获取当前 URL 域以响应服务器端渲染?
- amazon-cloudformation - 对于 ECS 部署组,不能指定 ec2TagFilters
- python - /admin/login/ 处的 OperationalError 尝试写入只读数据库
- google-cloud-platform - GCP 虚拟机实例的 Gmail 访问过滤器