gpt4 book ai didi

Bash:在一个命令行中删除文件后缀

转载 作者:行者123 更新时间:2023-11-29 09:30:39 26 4
gpt4 key购买 nike

给定fiz.jsdir/buz.js等文件路径,如何去掉后缀得到fiz dir/buz

我最好的镜头(我正在寻找更简单的东西):

find -name '*.js'| \ xargs -I{} echo {} | \ sed 's/.js$//' | \ xargs -I{} mv {}.js {}

最佳答案

您可以只使用 bash(版本 4),使用 globstar 获取递归文件列表。

$ shopt -s globstar
$ for i in **/*.js ; do echo "$i" "${i%.js}" ; done

对于 bash 手册页:

globstar

If set, the pattern ** used in a pathname expansion context will match all files and zero or more directories and subdirectories. If the pattern is followed by a /, only directories and subdirectories match.

${x%ext}$x 的末尾删除 ext。参见 String manipulations了解更多。

关于Bash:在一个命令行中删除文件后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12226749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com