shell之从 Julia 程序执行 >> shell 运算符
Free-Thinker
阅读:67
2024-06-03 14:00:57
评论:0
我试图使用反引号从 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 的,更安全,独立于平台,并且信息量更大。
*:如果情况不是,您可能需要编辑问题的标题:)
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。