tri*_*ity 3 command-line output cat
我有一个 Python 脚本EulerianCycle.py和一个输入文件euleriancycle.txt。
通过py EulerianCycle euleriancycle.txt > cat euleriancycleout.txt进入当前文件夹(py是 的别名python3),我能够获得正确的结果。
不过,我有在当前的一个叫另一个文件夹输出,而我希望我的所有输出文件中被引导。
我试过了 py EulerianCycle.py euleriancycle.txt | cd outputs/ | cat > euleriancycleout.txt
和 py EulerianCycle.py euleriancycle.txt | cat >cd outputs/euleriancycleout.txt
这给了我破碎的管道错误。
如果py EulerianCycle.py euleriancycle.txt写入标准输出流(我认为是这样,否则您将无法通过管道将其传输到cat),那么cat在这里完全是多余的 - 您可以直接重定向标准输出,指定输出文件的绝对路径或相对路径:
py EulerianCycle.py euleriancycle.txt > outputs/euleriancycleout.txt
Run Code Online (Sandbox Code Playgroud)
(注意:目录outputs/必须已经存在)。
您的其他命令都不会像您想象的那样工作。
在py EulerianCycle euleriancycle.txt > cat euleriancycleout.txt,壳创建一个名为文件cat在当前目录,并重定向输出py EulerianCycle到它,经过双方 euleriancycle.txt并euleriancycleout.txt把它作为输入参数。
in py EulerianCycle.py euleriancycle.txt | cat >cd outputs/euleriancycleout.txt,shell 创建一个cd在当前目录中命名的文件,将它cat 读取 outputs/euleriancycleout.txt和写入 file cd,忽略来自管道的cat标准输入(仅在没有输入文件或显式输入时读取标准输入-)。
也许您在这里的目标是将输出通过管道传输到子shell,例如:
py EulerianCycle.py euleriancycle.txt | (cd outputs; cat > euleriancycleout.txt)
Run Code Online (Sandbox Code Playgroud)
或者
py EulerianCycle.py euleriancycle.txt | (cd outputs && cat > euleriancycleout.txt)
Run Code Online (Sandbox Code Playgroud)
在这里,cat在更改到目标目录后读取子shell 的标准输入(由管道提供)。第二个版本仅euleriancycleout.txt在cd命令成功时创建;如果cd失败,第一个在当前目录中创建它。
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |