Julia 语言:无法识别 运行() 中的引号?流水线错误
Julia language: quotes in run() are not recognized? Pipeline error
Julia 在我使用 运行() 时忽略引号,例如:
run(`cat file.txt | sed "s/blah/hi/"`)
忽略引号,这是必需的。
\"
不起作用...
编辑:错误与管道有关:
cat: |: No such file or directory
cat: sed: No such file or directory
cat: s/blah/hi/: No such file or directory
ERROR: failed process: Process(`cat file.txt | sed s/blah/hi/`, ProcessExited(1)) [1]
in pipeline_error at process.jl:502
in run at ./process.jl:479
|
不会在 Julia 反引号语法中创建管道。相反,您使用四个参数调用 cat
程序:
file.txt
|
sed
s/blah/hi/
由于这些文件不太可能全部存在,cat
因错误而终止。请注意 sed
不需要在最后一个参数周围加上引号。事实上,如果它确实得到引号,那么它根本不会做你想要的,因为程序将是一个单一的字符串文字。 shell 看到双引号并将其内容作为单个参数传递给 sed
。在这种情况下,由于引号之间没有空格或其他对大多数 shell 特殊的字符,因此没有区别。要完成你想要的,你可以这样做:
run(`cat file.txt` |> `sed "s/blah/hi/"`)
双引号在 shell 中是可选的,因为 sed
.
的参数中没有空格或其他特殊字符
Julia 在我使用 运行() 时忽略引号,例如:
run(`cat file.txt | sed "s/blah/hi/"`)
忽略引号,这是必需的。
\"
不起作用...
编辑:错误与管道有关:
cat: |: No such file or directory
cat: sed: No such file or directory
cat: s/blah/hi/: No such file or directory
ERROR: failed process: Process(`cat file.txt | sed s/blah/hi/`, ProcessExited(1)) [1]
in pipeline_error at process.jl:502
in run at ./process.jl:479
|
不会在 Julia 反引号语法中创建管道。相反,您使用四个参数调用 cat
程序:
file.txt
|
sed
s/blah/hi/
由于这些文件不太可能全部存在,cat
因错误而终止。请注意 sed
不需要在最后一个参数周围加上引号。事实上,如果它确实得到引号,那么它根本不会做你想要的,因为程序将是一个单一的字符串文字。 shell 看到双引号并将其内容作为单个参数传递给 sed
。在这种情况下,由于引号之间没有空格或其他对大多数 shell 特殊的字符,因此没有区别。要完成你想要的,你可以这样做:
run(`cat file.txt` |> `sed "s/blah/hi/"`)
双引号在 shell 中是可选的,因为 sed
.