テキストファイルからスペースを含む列を削除する

テキストファイルからスペースを含む列を削除する

列を区切るスペースが多すぎるソートされた表形式のデータを含むテキストファイルがあります。たとえば、次のようになります。

header1     header2          header3
val1a       val2a            val3a
val1bbbb    val2b b ab  ab   val3b

列の値にはスペースが含まれます。 (正確な例は、COLUMNS=200 dpkg-query -l最初の数行のヘッダー行が削除されるまでDebianで実行したものです。)

行の長さを短くしたいです。空白文字のみを含む隣接する列を1つの列に結合します。。結果は次のとおりです。

header1  header2       header3
val1a    val2a         val3a      
val1bbbb val2b b ab ab val3b

(上記の「ab ab」=>「ab ab」のように、フィールド内の複数のスペースを単一のスペースに縮小できますが、これは重要ではありません。)どうすればよいですか?ありがとうございます!

(私の解決策の1つは、列が複数のスペースで区切られていると仮定したため、ファイル内の他の場所に表示されない区切り文字に置き換えてから、この区切り文字に基づいて列を再作成することができましたが、column -tこれは壊れやすく不快です。一部の列が1つのスペースで区切られている場合、または一部の列の値に複数のスペースが含まれている場合は機能しません。

ベストアンサー1

おすすめ記事