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}'
Я надеюсь это поможет