Shell 如何在文件夹中递归地从具有特定扩展名的源文件中仅删除扩展名?

Shell 如何在文件夹中递归地从具有特定扩展名的源文件中仅删除扩展名?,shell,ubuntu,command,Shell,Ubuntu,Command,如何在文件夹中递归地从具有特定扩展名的源文件中仅删除扩展名 例如,如果我有 /foo/bar/index.html /foo/bar/error.html /foo/bar/static/hi.html /foo/bar/static/me.jpg /foo/bar/static/you.jpg /foo/bar/build/yep.html 我希望在执行某些命令后,会有后续行动 /foo/bar/index /foo/bar/error /foo/bar/static/hi /foo/bar

如何在文件夹中递归地从具有特定扩展名的源文件中仅删除扩展名

例如,如果我有

/foo/bar/index.html
/foo/bar/error.html
/foo/bar/static/hi.html
/foo/bar/static/me.jpg
/foo/bar/static/you.jpg
/foo/bar/build/yep.html
我希望在执行某些命令后,会有后续行动

/foo/bar/index
/foo/bar/error
/foo/bar/static/hi
/foo/bar/static/me.jpg
/foo/bar/static/you.jpg
/foo/bar/build/yep
谢谢你的帮助。 如果命令(windows、ubuntu/linux)作为命令存在,请告诉一些操作系统的命令:

ls | find *.html | for f in *.html; do mv $f $(echo $f|sed s/.html//);done

欢迎加入SO,on SO,我们鼓励用户添加他们为解决自己的问题所付出的努力,因此请添加同样的努力,然后让我们知道。