コマンド出力の列を1行に結合

コマンド出力の列を1行に結合

これを使用してインストールされたdnf list installedすべてのパッケージを一覧表示し、次の出力を返します。

zenity.x86_64                                                                         3.22.0-1.fc25                                                               @@commandline          
zip.x86_64                                                                            3.0-16.fc24                                                                 @@commandline          
zlib.i686                                                                             1.2.8-10.fc24                                                               @@commandline          
zlib.x86_64                                                                           1.2.8-10.fc24                                                               @@commandline          
zlib-devel.x86_64                                                                     1.2.8-10.fc24                                                               @@commandline          
znc.x86_64                                                                            1.6.5-1.fc25                                                                @@commandline 

.私はパッケージ名、つまり最初の列の値にのみ興味がありますが(例:znc.x86_64-> znc)までのみ興味があります。

このコマンドの出力をスペースで区切られた1行(たとえばzip zlib zlib-devel znc)に結合するにはどうすればよいですか?

ベストアンサー1

アッ+タイプ解決策:

dnf list installed | awk -F. -v ORS="\0" '{print $1" "}' | sort -zu && echo ""

出力は次のようになります。

zenity zip zlib zlib-devel znc

-v ORS="\0"- 入力をゼロで終わるレコードとして扱う

sort -zu- 取得するにはユニークゼロ終了値

おすすめ記事