我有以下文件结构:
.
├── 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脚本实现此目的。
先谢谢。
答案 0 :(得分:1)
您需要分两个阶段完成:
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”匹配的所有文件和目录,然后我们逐行处理命令的输出