gpt4 book ai didi

linux - 如何在命令行中使用 `find` 删除文件名的扩展名(和前缀)?

转载 作者:太空宇宙 更新时间:2023-11-04 11:13:34 25 4
gpt4 key购买 nike

我已经编写了这个小命令,它递归地查找已编译 java 的类名。它递归地查找所有 *.class 文件,然后我尝试通过将“/”替换为“.”、去除前缀等来从中创建类名。

class_files=$(find ./build-tests -d -name\*.class -print | tr "\/""."| cut -c15-10000)

我的 bash 脚本知识非常初级。但是经过一番搜索后,我发现了使用 ${i%%.class} 删除 .class 后缀的想法,但我不确定如何将其添加到命令行的管道版本中?这可能吗?或者我是否需要使用循环并构建一个数组,然后加入该数组,以及所有这些?

最佳答案

我不确定 find-d 选项在您的调用中表示什么,但也许这就是您想要的:

find ./build-tests -name "*.class" -print0 | xargs -0 -n1 -Ifoo basename foo .class

关于linux - 如何在命令行中使用 `find` 删除文件名的扩展名(和前缀)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22050103/

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