unix - 编写一个循环进入子目录文件夹,然后在 unix 中复制和重新标记文件夹名称
问题描述
亲爱的 Stackoverflowers,
我在编写进入具有多个文件夹的目录并复制并重新标记每个文件夹的名称的循环时遇到问题。每个文件夹都以相同的方式开始标记,后面跟着不同的数字,所以结构是:
groupfolder1
123456789_ab_1234
123456789_ab_1235
123456789_ab_1236
123456789_ab_1237
groupfolder2
123456789_cd_1310
123456789_cd_1321
123456789_cd_1322
123456789_cd_1323
我想进入每个组文件夹(例如,123456789_ab_1234)并创建一个具有相同内容但标记的新文件夹(例如,sub-1234)。
我一直在努力学习 Unix,但在从完成抽象练习到现实生活问题的过程中遇到了困难,所以非常感谢您的回复和任何关于您如何找到解决方案的解释。
问候 E
解决方案
woops 在错误的部分发布了这个。谢谢你的解释。
我试过这个: cd /media/Eunice/'Drive B'/groupfolder1/ for d in * do if test -d $d then mkdir /tmp/sub-$d (cd $d ; tar cf - .) | (cd /tmp/sub-$d ; tar xf -) mv /tmp/sub-$d $d/. 完成
并收到此错误。mkdir:无法创建目录'/tmp/sub-123456789_ab_1234':没有这样的文件或目录-bash:cd:/tmp/sub-123456789_ab_1234:没有这样的文件或目录
我担心这里的“d”指的是文件夹“123456789_ab_1234”,为了制作新文件夹,我需要取“123456789_ab_”后面的数字来为新文件夹制作标签,例如 sub-1234。有没有办法轻松地将“d”识别为“1234”
推荐阅读
- api - 访问被拒绝 [失败 - 状态代码 403]
- java - 如何将特定的java文件与黄瓜中的特定功能文件匹配
- ios - 以编程方式更改 UILabel 上的约束中断布局
- web - 从一个网站支付到另一个后台运行的网站
- git - 如何镜像存储库,并将更改从源合并到目标
- android - 自定义构造函数 PageKeyedDataSource() 在分页库的 datasource.factory() 中使应用崩溃
- ios - 有没有办法快速确保 API 调用在竞争条件下只被调用一次
- powershell - 使用 powershell 以交互方式终止进程
- javascript - 为什么警报在 XMLHttpRequest 的 http.onload 中不起作用?
- reactjs - 带有过滤器和排序的 Redux 分页