リモートsshコマンドで出力を取得するときにyumリストの出力を1行に保つにはどうすればよいですか?

リモートsshコマンドで出力を取得するときにyumリストの出力を1行に保つにはどうすればよいですか?

SSH経由でコンピュータに接続しssh machineて実行すると、インストールされているyum listすべての項目が期待どおりに出力されます。重要なことは、各項目が次のように1行にあることです。

xz-devel.i386                                                                                                        4.999.9-0.3.beta.20091007git.el5                                                                  base            
xz-devel.x86_64                                                                                                      4.999.9-0.3.beta.20091007git.el5                                                                  base            
xz-libs.i386                                                                                                         4.999.9-0.3.beta.20091007git.el5                                                                  base            
xz-lzma-compat.x86_64                                                                                                4.999.9-0.3.beta.20091007git.el5                                                                  base            

ただし、これをリモートで実行したり、ssh machine 'yum list'サーバーのgrepにパイプしたりすると、yum list | grep xz -C 3出力行は次のように「切り捨てられて」短くなります。

xz-devel.i386                              4.999.9-0.3.beta.20091007git.el5
                                                                       base     
xz-devel.x86_64                            4.999.9-0.3.beta.20091007git.el5
                                                                       base     
xz-libs.i386                               4.999.9-0.3.beta.20091007git.el5
                                                                       base     
xz-lzma-compat.x86_64                      4.999.9-0.3.beta.20091007git.el5
                                                                       base     

このように線のサイズが縮小するのを防ぐにはどうすればよいですか?私の究極の希望はこれをパイプteeし、ansibleを介してすべてのホストの出力ファイルに対していくつかの処理を実行することです。

SSH/パイプラインの一部である一種の「仮想ターミナル」によってこのようなことが発生するようです。接続が切断された状態で実行中の端末のサイズを小さくすると、同じ動作が得られるためですyum list。したがって、パイプを追加すると、幅yum listがX列にすぎないことを端末に知らせることができると仮定します。

ベストアンサー1

すべてこの回答@thrigがコメントに提供されているとおり、次のようにして正しく出力されるようにすることができました。

yum list installed | xargs -n3 | column -t 

おすすめ記事