質問: 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
回答: 列がタブで区切られている場合は、フィールド区切り文字としてタブ文字を指定できます。これにより、スペースを個別の列として扱う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