方法一:
$ 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中的指令而已
参考:
5444

被折叠的 条评论
为什么被折叠?



