どこでも見れるメモ帳

とあるSEの備忘録。何かあれば気軽にコメントください〜

行ごとに文字数を換算する

はじめに

行ごとに文字数を計算したい状況が発生したためメモ。

やりかた

$ cat input_file | while read line; do echo $line $((`echo $line | wc -m` - 1)); done

文字数の計上は $ wc -m。これはマルチバイト文字に対応しており、日本語と英語が混ざっても、適切に文字数を計算してくれる。*1
ただし、$ wc -m では、改行文字も文字数に計上してしまう。そのため上のコードでは1文字分だけ差し引いている。

*1:補足。バイト数を計上したい場合は $ wc -c。単語数を計上したい場合は $wc -w。