Aji*_*ya 1 linux shell terminal
我有以下文件结构:
\n\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test_sample.txt\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 demo_test\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data.php\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 index_test.php\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Test.php\nRun Code Online (Sandbox Code Playgroud)\n\n我想用“演示”替换“测试”。最终的文件结构将是
\n\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 demo_sample.txt\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 demo_demo\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data.php\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 index_demo.php\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Test.php\nRun Code Online (Sandbox Code Playgroud)\n\n我如何通过 shell 脚本实现这一点。
\n\n提前致谢。
\n您需要分两个阶段进行:
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
Run Code Online (Sandbox Code Playgroud)
查找列出与“test”匹配的所有文件和目录,然后我们逐行处理命令行的输出