シェルスクリプト出力形式

シェルスクリプト出力形式

次の形式のファイルがあります。

root            0       system          0  
                        bin             2
                        sys             3
                        security        7
                        cron            8
                        audit           10
                        lp              11
daemon          1       staff           1  
bin             2       bin             2  
                        sys             3
                        adm             4
sys             3       sys             3  

シェルスクリプトを使って新しいファイル形式に変換したいです。

root            system,bin,sys,security,cron,audit,lp
daemon          staff
bin             bin,sys,adm
sys             sys

ベストアンサー1

すぐに利用可能なawkソリューション:

awk 'NF==4 && NR>1 {printf "\n" ; } 
     NF==4 { printf "%-10s %s",$1,$3} 
     NF==2 { printf ",%s",$1} 
     END   { printf "\n" ; } '

どこ

  • NFフィールド数(列数)。
  • NRレコード数(行番号)。
  • さまざまな条件で印刷する内容を選択し、
  • printf末尾の新しい行は印刷されません。

おすすめ記事