拆分 IPython Magic Shell 多行

bkm*_*ney 4 python shell

我正在尝试使用 IPython 运行一个很长的 shell 命令!。如何将命令拆分为多行?

例如,

 !awk -v c=0 '{{if (a[$$1]) print $$0 a[$$1]; else if (b[$$2]) print $$0 b[$$2] else {{print $$0 " common_" c; a[$$1] = b[$$2] = " common_" c; c++}}}}' foo.txt | column -t
Run Code Online (Sandbox Code Playgroud)

这样的命令很快就会变得不可读。

Jan*_*sky 5

使用\,按 Enter 键,继续输入,使用另一个\并输入,直到完成。

例如

In [1]: !ls \
   ...: *.txt
aws-forum.txt  encyclic.txt

In [2]: 
Run Code Online (Sandbox Code Playgroud)

  • 尝试了一下,在 Windows 系统上的 Jupyter Lab 中确实可以工作。即使笔记本是从 PowerShell 启动的。我尝试使用 Subprocess,但它会调用 cmd.exe,而不是像 PowerShell 那样启动它的 shell。 (2认同)