需求:
- 在写脚本的时候需要对文件名进行修改,但是要改的文件分散在各个目录下
进程:
- 使用awk 进行替换
- find ./test/ -name "test.pb" | awk -F "." '{printf("mv .%s.pb .%s.pb1 \n",$2,$2)}' | sh
- 在使用之前最后那个sh 可以先不执行,先看一下awk 输出的是什么东西再做执行
- 也可使用 xargs 进行修改
- find ./test/ -name "test.pb" | awk -F "." '{print .$2}' | xargs -i -t mv ./{}.pb./{}.pb1
- 如果只是加后缀的话有一个更简单的方案,使用find -exec
- find ./test/ -name "test.pb" -exec mv {} {}1 \; 分号不能丢
拓展: