标签: stdout

`tee`命令相当于*input*?

unix tee命令将标准输入拆分为stdout AND文件.

我需要的是反过来的东西,将几个输入合并到一个输出 - 我需要连接两个(或更多)命令的stdout.
不确定这个应用程序的语义应该是什么 - 让我们假设每个参数都是一个完整的命令.

例:

>  eet "echo 1" "echo 2" > file.txt
Run Code Online (Sandbox Code Playgroud)

应该生成一个包含内容的文件

1
2
Run Code Online (Sandbox Code Playgroud)

我试过了

>  echo 1 && echo 2 > zz.txt
Run Code Online (Sandbox Code Playgroud)

它不起作用.

旁注:我知道我可以将每个命令的输出附加到文件中,但我想一次性执行此操作(实际上,我想将合并的输出传递给另一个程序).
另外,我可以自己动手,但只要我负担得起,我就懒得:-)

哦,是的,如果它在Windows中运行会很好(虽然我猜任何bash/linux风格的解决方案都可以通过UnxUtils/msys/etc运行)

console stdin stdout

1
推荐指数
1
解决办法
1173
查看次数

缓冲标准输出(STDOUT)

默认情况下,STDOUT是否无缓冲?如果不是,它的默认缓冲类型是什么

谢谢

stdout buffering unbuffered

1
推荐指数
1
解决办法
299
查看次数

我可以使用来自另一个perl脚本中间的系统调用从perl脚本获取值吗?

我正在尝试修改其他人编写的脚本,我想让我的脚本与他的脚本分开.

我写的脚本以print一行输出,该行输出由空格分隔的所有相关数据.

例如: print "$sap $stuff $more_stuff";

我想在另一个perl脚本的中间使用这些数据,我不确定是否可以使用系统调用我写的脚本.

例如: system("./sap_calc.pl $id"); #obtain printed data from sap_calc.pl here

可以这样做吗?如果没有,我该怎么办呢?


有点相关,但没有使用system():

如何让一个Perl脚本在另一个Perl脚本中查看变量?

如何将参数从一个Perl脚本传递给另一个?

perl stdin arguments stdout parameter-passing

1
推荐指数
1
解决办法
200
查看次数

C pipe()在一定数量的调用后返回错误

我写了这个函数来与外部程序进行通信.这样的程序从stdin获取输入并在stdout上输出它的输出.为了使我的代码与该程序通信,我使用管道将stdin和stdout重定向到缓冲区.

int query_oracle(mpz * c,int *t, mpz * m) {
  int out_pipe[2];
  int in_pipe[2];
  int saved_stdout;
  int saved_stdin;

  // REDIRECT STDIN
  saved_stdin = dup(STDIN_FILENO);      /* save stdin for later */
  pipe(in_pipe);            /* make a pipe */
  close(STDIN_FILENO);
  dup2(in_pipe[0], STDIN_FILENO);   /* redirect pipe to stdin */
  //write(in_pipe[1], in_buf, strlen(in_buf));

  // REDIRECT STDOUT
  saved_stdout = dup(STDOUT_FILENO);  /* save stdout for display later */
  if( pipe(out_pipe) != 0 ) {          /* make a pipe */
  exit(1);
  }
  dup2(out_pipe[1], STDOUT_FILENO);   /* redirect stdout to …
Run Code Online (Sandbox Code Playgroud)

c linux stdin stdout pipe

1
推荐指数
1
解决办法
369
查看次数

Linux/dev/null写操作成功

我正在读一本维基百科条目它说:在类Unix操作系统为/ dev/null或空设备是丢弃写入的所有数据,但特殊的文件" 报道说,写操作成功了. "

本声明分为两部分.第一部分很清楚它是一个空文件.我不清楚句子的第二部分,在哪里/如何找到写操作成功?

unix linux stdout

1
推荐指数
1
解决办法
670
查看次数

Shell脚本/ dev/urandom

我想制作bash脚本,向stdout发送一个只包含ASCII可写字符的文件映像.我的脚本应该只接收和接受一个包含应从/ dev/urandom读取的八位字节数的参数.因此,我需要从/ dev/urandom读取给定数量的八位字节以创建要发送到stdout的文件映像.我有这个:

!/斌/庆典

X = 1

如果[$ X -eq 0]则回显"错误:需要参数"

其他

strings/dev/urandom
回显结果

科幻

基本上我正在检查是否有任何参数,如果有,请阅读dev/urandom.当然这只是一个草图.

我被告知有一个叫做字符串的命令可以从任何文件中读取和提取字符序列,但是我已经在互联网上查了一下,我找不到很多关于它的信息.

所以我的问题是:我如何读取/ dev/random参数中给出的八位字节数,以便我可以将它们放在stdout中(我知道如何放入stdout :))

random bash shell stdout

1
推荐指数
1
解决办法
2219
查看次数

在QTextEdit小部件中复制stdout,stderr

我几天来一直在使用PySide程序遇到困难.我不认为这个问题难以置信,因为那里有答案.我遇到的问题似乎都不适合我.

我希望'监听'文件对象stdout和stderr,并在我的PySide程序运行时将内容输出到QText Edit小部件.现在,我已经意识到这个问题(或者类似的东西)之前已经被问过了,但就像我说的那样,由于某种原因无法让它为我工作,而其他大多数解决方案都基于我能做到的那个问题.工作,所以对我来说这几天非常令人沮丧.这个解决方案(OutLog)包含在我下面的代码片段中,以防你们其中一个人可以看到我的拙劣实现.

要记住的事情:

1我在Windows 7上做这个(duuuh,da,da,duh)

2我正在使用eclipse并在IDE中运行它(duh,da,da,duh,DUUUUH:如果建议适用于命令行或IDE,那将非常方便)

3我真的只想在程序运行时将stdout和stderr的输出复制到小部件.对于这种情况,逐行发生将是一个梦想,但即使它在一个循环结束时出现作为一个块或其他东西,这将是晶圆厂.

4哦,关于OutLog,有人可以告诉我,如果在init中将self.out设置为'None' ,这个类实际上可以工作吗?我的意思是,self.out 总是一个NoneType对象,对吧???

任何帮助将不胜感激,即使它只是指向我可以找到更多信息的地方.我一直在努力建立自己的解决方案(我有点像一个虐待狂),但我发现很难找到关于这些对象如何工作的相关信息.

无论如何,抱怨过来.这是我的代码:

#!/usr/bin/env python
import sys
import logging
import system_utilities

log = logging.getLogger()
log.setLevel("DEBUG")
log.addHandler(system_utilities.SystemLogger())

import matplotlib
matplotlib.use("Qt4Agg")
matplotlib.rcParams["backend.qt4"] = "PySide"
import subprocess
import plot_widget

from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure

from PySide import QtCore, QtGui


class MainWindow(QtGui.QMainWindow):
    """This is the main window class and displays the primary UI when launched.
    Inherits from QMainWindow.
    """

    def __init__(self):
        """Init function. 
        """
        super(MainWindow, self).__init__() …
Run Code Online (Sandbox Code Playgroud)

stdout pyqt stderr pyside python-2.7

1
推荐指数
1
解决办法
3082
查看次数

向stdout显示单行以更新部分而不是在C中打印新行

是否可以在包含变量的Linux OS上向控制台打印(在C中)一行文本,以便在变量更改时更改打印行而不是打印新行?例如,如果我有以下C代码:

void main()
{
     int i;
     for(i=1;i<=10;i++){
        printf("%d\n",i);
        sleep(5);
     }
}
Run Code Online (Sandbox Code Playgroud)

这样就可以打印十行.但我想打印一行更新自己以显示i它何时发生变化的价值.

c linux stdout

1
推荐指数
2
解决办法
228
查看次数

Process Stream类不支持写入

我正在尝试使用流类向进程写入内容.我正在使用.net 4.5.然而,似乎写作不是支持.

Process.StandardOutput.BaseStream.CanWrite 
Run Code Online (Sandbox Code Playgroud)

返回false.

Process Stream类不支持写入是真的吗?

c# stdout process

1
推荐指数
1
解决办法
303
查看次数

Sys.stdout.write没有按预期工作

我有一个迭代两个字符串数组的测试脚本,我想用它sys.stdout.write来为用户提供一个简单的"进度条".

我目前的剧本:

import sys
from time import sleep
names  = ['Serv1', 'Serv2', 'Serv3', 'Serv4', 'Serv5']
states = ['Running', 'Stopped', 'Running', 'Running', 'Stopped']
terminated=0
passed=0
for i in range (0, len(names)):
    if 'Running' in states[i]:
        print " [*] stop if running {0} ".format(str(names[i]))
        #service_info(action, machine, names[i])
        terminated+=1
    else:
        print " [!] Passing over {0} ".format(str(names[i]))
        passed+=1
    sleep(2)
    sys.stdout.write(" [ ] {0}/{1} progress left\r".format(i+1, len(names)))
Run Code Online (Sandbox Code Playgroud)

预期输出用于sys.stdout.write保持更新,而打印语句通知用户某些动作.但是当我运行它时,唯一的时间sys.stdout.write显示在脚本的末尾.例如

 [*] stop if running Serv1
 [!] Passing over Serv2
 [*] …
Run Code Online (Sandbox Code Playgroud)

python stdout sys python-2.7

1
推荐指数
1
解决办法
5560
查看次数