列コマンドの代替

列コマンドの代替

ファイルがあり、2つの列を抽出する必要があります。

ただし、正しくソートできません。試してみましたが、column -tエラーメッセージが表示されますbash: column: command not found

awk '{print $1" "$2}' | column -t

答え1

別の出力フィールドを印刷してタブ文字を出力フィールド区切り文字として使用する場合、AWKは出力自体を並べ替えることができます。

echo a b | awk -vOFS='\t' '{ print $1, $2 }'

AWKの再構築により、フィールド数に関係なく同じ効果が得られます$0

echo a b c d | awk -vOFS='\t' 'NF > 0 { $1 = $1 } 1'

printfより複雑な出力が必要な場合は、AWKの機能を確認してください。

関連情報