head -cのようなものを持ちながらカラー文字を処理する方法

head -cのようなものを持ちながらカラー文字を処理する方法

headとsedはカラーコードを実際の文字として扱うようです。入力から最初のn個の実際の表示文字をどのように取得できますか?

ベストアンサー1

おそらくそれほど効率的ではないでしょう。ただし、GNUを使用すると、次のことがawkできます。

gawk -v RS='\033\\[[;[:digit:]]{0,16}[[:alpha:]]|.' -v ORS= -v count=123 '
  {n += RT ~ /^[[:print:]]$/}; n > count {exit}; {print RT}'

count取得したい文字数はどこにありますか?)

head -c計算は数量ですが、参考にしてくださいバイト、上記で計算された数量数値

改行、キャリッジリターン、タブ文字などの制御文字、\e[123;123xカラー文字(ここではxis m)、カーソル位置指定文字(ここではxis H)などの形式のエスケープシーケンスのみを考慮してください。

おすすめ記事