Bash输出误解

时间:2015-12-03 19:45:20

标签: python nlp

如果这是重复的话,我道歉,我找不到这个问题的任何其他例子。

我正在尝试编写一个自然语言识别程序,我正在阅读一篇博客文章,其中有人试图做类似的事情,并建议使用这两行来捕获输出。

#capture output of script
./get-language.py | tee preptxt

我无法弄清楚这段代码试图做什么。我假设它正在运行get-language文件,但该语法对我来说看起来不正确。有人能指出我正确的方向吗?

3 个答案:

答案 0 :(得分:5)

在Unix系统上,您可以使用vagrant@homestead:~$ date >> /home/vagrant/Code/CRONTRACK.txt^M vagrant@homestead:~$ cat /home/vagrant/Code/CRONTRACK.txt^M Thu Dec 3 19:53:06 UTC 2015 运行可执行文件。 这不是python特有的。 由于/path/to/my/executable是当前工作目录,因此您正在执行位于当前目录中的.脚本。

但是,您需要做两件事才能使脚本正常工作:

1。添加一个shebang

这是你脚本的第一行,它告诉shell要使用哪个程序。 要使用get-language.py使用中的第一个python解释器:

PATH

2。添加权限以使脚本可执行:

您需要允许执行您的脚本。这可以通过#!/usr/bin/env python

完成
chmod

最后一部分是所谓的管道操作。 如果你打两个这样的程序:

chmod +x myscript.py

$ program_a | program_b 的输出(标准输出)被输入program_a

答案 1 :(得分:2)

这是一个shell的东西,而不是Python。 .是当前目录;你从那里开始运行get-language.py

答案 2 :(得分:1)

这不是一行python,而是一个shell脚本。

它正在运行一个名为get-language.py的脚本(我假设在该博客的其他位置进行了描述,并进行了实际的语言处理),然后通过unix命令行程序{{3将输出存储在文件中。

Piping获取一个程序的输出,并将其用作另一个程序的输入。