awk / cutを使用して空白の列データを取得する方法

awk / cutを使用して空白の列データを取得する方法

次の形式のデータがあります。

 16 SQL*Plus                            vilconv1                  dox-conv2
 16 TOAD background query session       Disha                     WORKGROUP\AD

今度は列ごとにデータをインポートしたいと思います。次のコマンドを使用しています。

awk '{print $1,$2}' 

ただし、列 2 には空白があるため、次の出力が提供されます。

16 SQL*Plus      
  16 TOAD

そして私が望むもの:

16 SQL*Plus  
   16 TOAD background query session   

ベストアンサー1

列がタブ文字で区切られている場合は、タブ文字をフィールド区切り文字として指定できます。これにより、空白を別々の列として扱うawkのデフォルトの動作を防ぎます。

cat <data file> | awk -F"\t" '{print $1, $2}'

root@ubuntu32:/tmp# cat testtext | awk -F"\t" '{print $1, $2}'
16 SQL*Plus
16 TOAD background query session

おすすめ記事