wc -Lはタブ行の長さを8として報告します。バグや機能?

wc -Lはタブ行の長さを8として報告します。バグや機能?

-Lwc少なくとも私の考えには便利な機能です。最長行の長さを印刷します。何らかの理由でシングルバイトのタブ文字を長さ8に拡張します。
タブを「拡張」しないように設定する方法はありますか?今回の拡張の根拠は何でしょうか?

echo -n $'\t' | wc -L

出力 8

wc(GNU coreutils) 7.4
GNU bash, バージョン 4.1.5

ベストアンサー1

このコンテンツと次の行に関連するバグレポートが見つかりませんでした。ソースファイルwc.c

    case '\t':
        linepos += 8 - (linepos % 8);

これは、ファイルを画面に表示するのに必要な幅を思い出させるために意図的に選択したようです。

迅速な選択肢は次のとおりです。

echo -n $'\t' | tr '\t' ' ' | wc -L

おすすめ記事