从 Julia 程序执行 >> shell 运算符

2024-04-06

我试图使用反引号从 Julia 内部附加一个文件

run(`cat file2 >> file1`)

但这行不通。似乎 >> 运算符无法正确解释。有没有办法通过管道或其他技巧来做到这一点?


如果您尝试以编程方式执行此操作,则主要问题正文尚不清楚一般来说,或者只是尝试发出 shell 命令交互地来自 Julia REPL ......但你的标题表明它是后者;if就是这样*,您可以进入外壳模式只需输入;在 REPL 并发出 shell 命令。

对于前一种情况,如果你must使用以下命令附加到文件run命令,然后使用内置的pipeline为此提供了机制。阅读帮助文件,您将看到一个可选的append可以提供论据。例如

run(pipeline(`cat file1`; stdout="file2", append=true));
# or even
run(pipeline(`cat`; stdin="file1", stdout="file2", append=true));

话虽如此,如果你are一般来说,以编程方式执行此操作,因为您对 file1 所做的所有操作都是从中读取的,所以您可能应该只是正常地读取和写入文件,并完全避免 shell 命令:

open("file1", "r") do f1; 
  open("file2", "a") do f2; write(f2, readstring(f1)); end
end

这是 Julia 特定的,更安全,独立于平台,and信息更丰富。


*: And if that's not the case, you might want to edit the title of your question :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Julia 程序执行 >> shell 运算符 的相关文章

随机推荐