インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

(Linux)文字列の長さはawkではなくwcで取得した方がいいこともある

理由

半角英数の場合はawkは機能するが

# echo "xxx" |  awk ' {print length($0)}'
3

日本語のような文字に対してはバイト数を見ているため機能しないから。

# echo "ばつ" |  awk ' {print length($0)}'
6

対応策

wcを使う。

root@instance-1:~/Twitter# echo "ばつ" |  wc -m
3
# echo "xxx" |  wc -m
4

文字数が一つ多く見えるのは改行が入っているから。そういう時は echo -n オプションを使えば数があいます。