【问题标题】:redirection of awk print to a file将 awk 打印重定向到文件
【发布时间】:2012-01-03 19:03:31
【问题描述】:

我可以通过以下命令获取solaris机器的cpu Mhz。

% /usr/sbin/psrinfo -v | grep operate |head -1 | awk '{print $6}'

1200

当我运行以下命令时,awk 输出没有被重定向。

%  csh -cf "/usr/sbin/psrinfo -v | grep operate |head -1 | awk '{print $6}' > myoutput"

% cat myoutput

sparcv9 处理器以 1200 MHz 运行,

如何得到以下结果

% cat myoutput

1200

【问题讨论】:

    标签: shell awk solaris csh


    【解决方案1】:

    您的问题是 $6 在传递给 csh (并在 awk 命令中使用)之前正在由您现有的 shell 评估。

    转义$ 应该可以解决问题:

    csh -cf "/usr/sbin/psrinfo -v | grep operate |head -1 | awk '{print \$6}' > myoutput"
    

    或者,更简洁:

    csh -cf "/usr/sbin/psrinfo -v | awk '/operate/{print \$6; exit}' > myoutput"
    

    【讨论】:

    • 谢谢。我已经使用 sed 来规避这个问题。 "/usr/sbin/psrinfo -v | grep operation |head -1 | sed 's/.* 操作在 //'|tr -d ','
    猜你喜欢
    • 2011-01-31
    • 2018-07-03
    • 2011-11-01
    • 2013-04-14
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多