搜索和替换文件和文件夹名称

时间:2016-03-29 11:04:42

标签: linux shell terminal

我有以下文件结构:

.
├── data
│   └── test_sample.txt
└── demo_test
    ├── data.php
    ├── index_test.php
    └── Test.php

我想替换' test'使用' demo'。最终的文件结构将是

.
├── data
│   └── demo_sample.txt
└── demo_demo
    ├── data.php
    ├── index_demo.php
    └── Test.php

如何通过shell脚本实现此目的。

先谢谢。

1 个答案:

答案 0 :(得分:1)

您需要分两个阶段完成:

  1. 重命名目录
  2. 重命名文件

  3. cd yourDir
    find . -type d -name "*test*" | while read f; do mv $f $(echo $f | sed 's/test/demo/'); done
    find . -type f -name "*test*" | while read f; do mv $f $(echo $f | sed 's/test/demo/'); done
    

    查找列出与“test”匹配的所有文件和目录,然后我们逐行处理命令的输出