【问题标题】:move and rename multiple files of folders and subfolders into new folder将文件夹和子文件夹的多个文件移动和重命名到新文件夹中
【发布时间】:2020-03-29 05:12:44
【问题描述】:

所以我有一个巨大的文件夹结构,想将所有现有文件移动到 1 个新文件夹中,并以之前的文件夹名称作为前缀。
示例:

Old/Test/a1/Tree.txt  
Old/Test/a1/House.txt  
Old/Test/a2/Dog.txt  
Old/Test/a3/Cat.txt  
--> New/Test_a1_Tree.txt  
--> New/Test_a1_House.txt  
--> New/Test_a2_Dog.txt  
--> New/Test_a3_Cat.txt  

不幸的是,我不知道如何自动执行此操作,但希望得到建议。
提前谢谢大家:)

【问题讨论】:

  • @oguzismail 我只有从 util-linux 2.34 重命名
  • 好的,你有 bash 吗?
  • 是的,如果有帮助的话,我在 Manjaro-Linux 上

标签: shell directory rename move


【解决方案1】:
find Old -type f -exec bash -c '
  for p; do
    q=${p#Old/}
    echo mv "$p" "New/${q//\//_}"
  done' _ {} +

如果您对输出感到满意,请删除 echo

【讨论】:

    猜你喜欢
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2013-08-18
    相关资源
    最近更新 更多