gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 08:34:10 25 4
gpt4 key购买 nike

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

run(`cat file2 >> file1`)

但这行不通。似乎 >> 运算符无法正确解释。有什么方法可以通过管道或其他技巧做到这一点吗?

最佳答案

从主要问题正文中不清楚您是一般尝试以编程方式执行此操作,还是只是尝试从 julia 中以交互方式发出 shell 命令REPL ...但你的标题表明它是后者; 如果是这种情况*,您可以通过简单地在 REPL 中键入 ; 并发出您的 shell 命令来进入 shell 模式

对于前一种情况,如果您必须使用run 命令附加到文件,则使用内置的管道 机制为此提供。阅读帮助文件,您将看到可以提供一个可选的 append 参数。例如

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

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

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

这是特定于 julia 的,更安全,独立于平台,并且信息量更大。


*:如果情况不是,您可能需要编辑问题的标题:)

关于shell - 从 Julia 程序执行 >> shell 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41010384/

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