Випадково я з'ясував, що wcрахується по-різному залежно від того, як він отримує вхід від bash:
$ s='hello'
$ wc -m <<<"$s"
6
$ wc -c <<<"$s"
6
$ printf '%s' "$s" | wc -m
5
$ printf '%s' "$s" | wc -c
5
Це - ІМХО заплутане - поведінка десь задокументована? Що wcтут враховує - це припущений новий рядок?
Або, краще,
—
Руслан
xxd -g1.
Я сподіваюся, що
—
власний
printf "$s"це не ваш printf "%s" "$s"
Оскільки було дуже багато коментарів щодо printf, я відредагував свою публікацію, щоб відобразити найкращу практику.
—
rexkogitans
od -cзможете побачити, що саме у вас є.