Linux
command

コマンド実行結果の文字列整形が正しく動作しない場合

標準エラー出力されている可能性を疑ってください。

例えばnginxの場合。

本来であれば下記のようなコマンドの組み合わせで、ソフトウェア名とバージョン情報のみを切り出せるはずなのですが、コマンド実行結果の文字列はビクともしてません。

[root@localhost ~]# /usr/sbin/nginx -v | cut -d '/' -f 2
nginx version: nginx/1.10.2

これはnginxの仕様なのですが、バージョン情報は標準エラー出力されます。
正しく文字列を整形するためには、以下のように標準エラー出力を標準出力に変更する必要があります。

[root@localhost ~]# /usr/sbin/nginx -v 2>&1 | cut -d '/' -f 2
1.10.2

因みにJavaGCCのバージョン情報も標準エラー出力されます。