我想执行:
xlsx2csv ./mytest当我输入并执行它时,这是有效的,但是当我使用babashka时,它不起作用:
source <(ls my* | bb -i '(map #(str "xlsx2csv " %) *input*)')
/proc/self/fd/11:1: no such file or directory: xlsx2csv mytest我在这里做错什么了?
发布于 2022-06-18 13:15:39
我不太清楚,为什么要在转换的一个步骤中使用Babashka,这基本上只是用命令作为文件名的前缀。如果您的文件名是“好的”,这只是一个字符串的前缀,可以用sed或awk来完成。如果他们是“棘手的”(正如在评论中已经指出的),这是不会削减的。
所以我建议用Babashka代替外壳来完成所有的工作。
(ns script
(:require [babashka.fs]
[babashka.process]))
(defn xlsx2csv
[file-name]
(->
(babashka.process/process ["xlsx2csv" file-name] {:out :inherit})
(babashka.process/check)))
(run!
xlsx2csv
(babashka.fs/glob "." "*.xlsx"))发布于 2022-06-17 19:35:52
source =(ls my* | bb -i -o '(map #(str "xlsx2csv " % ) *input*)') >> test.csv我忘记了-o选项。
https://stackoverflow.com/questions/72663113
复制相似问题