为什么 cut 不适用于程序的输出?
Why does cut not work with the output of a program?
我需要从以下输出中获取程序的版本号:
~$ pyrcc5 -version
pyrcc5 v5.15.0
~$
现在我想cut
could do the job:
~$ pyrcc5 -version | cut -f2 -d"v"
pyrcc5 v5.15.0
~$
但它并没有切掉任何东西?!?
~$ echo $(pyrcc5 -version) | cut -f2 -d"v"
pyrcc5 v5.15.0
~$
更糟糕的是......预期输出将是
5.15.0
pyrcc5 正在将版本字符串打印到 stderr,而不是 stdout。试试 pyrcc5 -version 2>&1 | cut -dv -f2
.
我需要从以下输出中获取程序的版本号:
~$ pyrcc5 -version
pyrcc5 v5.15.0
~$
现在我想cut
could do the job:
~$ pyrcc5 -version | cut -f2 -d"v"
pyrcc5 v5.15.0
~$
但它并没有切掉任何东西?!?
~$ echo $(pyrcc5 -version) | cut -f2 -d"v"
pyrcc5 v5.15.0
~$
更糟糕的是......预期输出将是
5.15.0
pyrcc5 正在将版本字符串打印到 stderr,而不是 stdout。试试 pyrcc5 -version 2>&1 | cut -dv -f2
.