csvでカンマをスペースに置き換えますが、各列の後に異なる数のスペースを挿入する方法は?

csvでカンマをスペースに置き換えますが、各列の後に異なる数のスペースを挿入する方法は?

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

s1,23,789  
s2,25,689

次の形式のファイルに変換したいと思います。

s1      23  789  
s2      25  689

つまり、最初の列と2番目の列の間に6つのスペースがあり、2番目と3番目の列の間に3つのスペースしかありませんか?

sedまたはawkを使用してこれを行う簡単な方法はありますか?

ベストアンサー1

次の内容はこのトリックを実行する必要があります。

awk 'BEGIN{IFS=","} {printf("%s      %s   %s\n", $1, $2, $3)}' input_file

もう一度簡潔に(コメントで):

awk -F ',' '{printf("%s      %s   %s\n", $1, $2, $3)}' input_file

おすすめ記事