wc -c дает больше, чем я ожидал, почему так?

echo '2003'| wc -c

Я думал, что это даст мне 4, но оказалось, что это 5, что это за дополнительный байт?

3 ответа

Потому что эхо получит новую строку.

эхо "2014" | туалет

это получит 5

принтф "2014" | туалет

он получит 4, где printf не добавит новую строку.

echoсодержит встроенный переключатель, -n, чтобы удалить новую строку. Итак, бег:

      echo -n "2021" | wc -c

Выведет ожидаемый 4.

Echo добавляет новую строку, которая вызывает проблему: Как упоминалось "KyChen", вы можете использовать printf или же

a="2014 ;
echo $a |awk '{print length}'

Я надеюсь это поможет

Другие вопросы по тегам