書式設定されたテーブルヘッダーに色を付けています。column -ts $'\t'
カラーコードなしではうまく機能しますが、最初の行にカラーコードを追加すると、column
出力が正しく整列しません。
カラー出力なしで動作します。予想通り:
printf "1\t2\t3\nasdasdasdasdasdasdasd\tqwe\tqweqwe\n" | column -ts $'\t'
しかし、最初の行に色を追加するときソートされていないカラーテキスト行:
printf "\e[7m1\t2\t3\e[0m\nasdasdasdasdasdasdasd\tqwe\tqweqwe\n" | column -ts $'\t'
この動作は、Ubuntu LinuxとMac OS Xの両方で観察されました。
ベストアンサー1
はい、カラーコードにもフォーマットされているからですcolumn
。彼らは他の人と同じキャラクターです。すでに使用しているので、printf
それを使用してフォーマットすることもできます。
$ printf '\e[7m%-24s%-8s%-6s\e[0m\n%-24s%-8s%-6s\n' "1" "2" "3" "asdasdasdasdasdasdasd" "qwe" "qweqwe"
1 2 3
asdasdasdasdasdasdasd qwe qweqwe
または、カラーコードを追加できます。後ろに使用column
:
$ printf "1\t2\t3\nasdasdasdasdasdasdasd\tqwe\tqweqwe\n" | column -ts $'\t' |
sed "1{s/^/$(printf '\e[7m')/;s/$/$(printf '\e[0m')/}"
1 2 3 # this line is colored
asdasdasdasdasdasdasd qwe qweqwe