gpt4 book ai didi

java - 使用basename在java中命名输出文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:13 25 4
gpt4 key购买 nike

我有一个包含一些 foo 文件的递归目录结构,我想使用 XSLT 1.0 样式表将这些文件转换为 bar 文件。我有:

dir
|-- subdir
| |-- file1.foo
| |-- file2.foo
| |-- file3.foo

我想获得:

dir
|-- subdir
| |-- file1.foo
| |-- file1.bar
| |-- file2.foo
| |-- file2.bar
| |-- file3.foo
| |-- file3.bar

要捕获没有扩展名的文件的基本名称,我尝试过:

$ find . -type f -exec java -jar C:/saxon6-5-5/saxon.jar -o $(basename {} .foo).bar {} stylesheet.xsl \;

$ find . -type f -exec java -jar C:/saxon6-5-5/saxon.jar -o `basename {} .foo`.bar {} stylesheet.xsl \;

两者的结果相同:

dir
|-- subdir
| |-- file1.foo
| |-- file1.foo.bar
| |-- file2.foo
| |-- file2.foo.bar
| |-- file3.foo
| |-- file3.foo.bar

似乎 basename 命令不起作用。我做错了什么?

最佳答案

这是一个 zsh 方法,因为它是这样标记的。


对于 **/*.foo(.) 中的 f;打印——java ... -o $f:r.bar $f

当您认为它看起来不错时,请移除 print --

(.) 仅表示文件。 :r 表示删除 .foo 扩展名。将路径操纵器记住为扩展/删除/尾部/头部的“erth”会很有帮助。

还有 zmv-p 选项来调用你的 java 命令。

关于java - 使用basename在java中命名输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30683303/

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