Linux shell重命名目录下的文件.log为.error


方法一:
$ for i in `ls -B`
for> do
for> fn=${i%.log}
for> mv $fn.log $fn.error
for> done

$ ls
abc.error

方法二:
$ ls *.error | sed -r -n 's/(.*)error/mv & \1log/e'
$ ls
abc.log

关于sed的选项,使用 -r和 -n
-r 来启用后续可以使用 command,比如 mv
-n 来关闭 patten space中内容的显示

关于sed的command,使用e。如此在使用s命令完成 pattern space中hi到 hello的修改后,启动shell来执行 pattern space中的 mv指令
如果这里使用 p,标记仅仅显示  pattern space中的指令而已
参考: https://blog.csdn.net/Z14523299999/article/details/101506248 https://blog.csdn.net/weixin_33695450/article/details/85671341?utm_term=shell%E7%BB%99%E6%96%87%E4%BB%B6%E5%90%8D%E4%BF%AE%E6%94%B9&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-1-85671341&spm=3001.4430