【问题标题】:Bash Stdout redirect on solaris 10Solaris 10 上的 Bash Stdout 重定向
【发布时间】:2013-12-16 20:07:56
【问题描述】:

好的,这正在工作:

trace -t lstat64 -v lstat64 ls "myfilename" 2>pipefile
cat pipefile | grep ct | cut -d '[' -f 2 | cut -d ' ' -f 2

但我不想使用文件“pipefile”,如何将输出直接重定向到我的 grep 并剪切?

【问题讨论】:

    标签: bash redirect solaris stdout


    【解决方案1】:

    那么,你想忽略标准输出而只考虑标准错误?

    trace -t lstat64 -v lstat64 ls "myfilename" 2>&1 1>/dev/null | 
      grep ct | cut -d '[' -f 2 | cut -d ' ' -f 2
    

    首先,stderr 文件句柄被重定向到 stdout 文件句柄所指的任何内容,然后 stdout 文件句柄被重定向到 /dev/null。然后 grep 可以从 stdin 读取 trace 的 stderr 发出的任何内容。

    【讨论】:

    • 呃,这个答案会忽略标准输出并与标准错误一起使用
    【解决方案2】:

    我明白了,我刚刚意识到我将 stderr 与 stdout 混淆了,这是我的解决方案:

    trace -t lstat64 -v lstat64 ls "myfilename" 2>&1 | grep ct | cut -d '[' -f 2 | cut -d ' ' -f 2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-30
      • 2014-12-24
      • 2017-12-20
      • 2010-10-14
      • 2015-09-02
      • 2012-03-09
      • 1970-01-01
      相关资源
      最近更新 更多