有人可以解释为什么结果不一样吗?
Can someone explain why the outcome isn’t the same?
我正在学习 bash 和 Python。所以我尝试用 Bash 和 Python 来解决大多数问题。这就是我最终试图在 Bash 和 Python 中获取字符串长度的方式,而 wc 返回了一个不同的数字。在互联网上搜索了答案,但没有找到。
$ echo "ensPpaJxUanRSxRzWSqMcLrYZDhkCp" | wc -c
31
====
$ echo "ensPpaJxUanRSxRzWSqMcLrYZDhkCp" | wc -m
31
====
$ string="ensPpaJxUanRSxRzWSqMcLrYZDhkCp"
$ echo ${#string}
30
====
>>> print(len("ensPpaJxUanRSxRzWSqMcLrYZDhkCp"))
30
echo 产生一个换行符,这被算作一个额外的字符,如@khelwood 评论:
$ echo "ensPpaJxUanRSxRzWSqMcLrYZDhkCp" | python -c 'import sys; print(list(sys.stdin))'
['ensPpaJxUanRSxRzWSqMcLrYZDhkCp\n']
我正在学习 bash 和 Python。所以我尝试用 Bash 和 Python 来解决大多数问题。这就是我最终试图在 Bash 和 Python 中获取字符串长度的方式,而 wc 返回了一个不同的数字。在互联网上搜索了答案,但没有找到。
$ echo "ensPpaJxUanRSxRzWSqMcLrYZDhkCp" | wc -c
31
====
$ echo "ensPpaJxUanRSxRzWSqMcLrYZDhkCp" | wc -m
31
====
$ string="ensPpaJxUanRSxRzWSqMcLrYZDhkCp"
$ echo ${#string}
30
====
>>> print(len("ensPpaJxUanRSxRzWSqMcLrYZDhkCp"))
30
echo 产生一个换行符,这被算作一个额外的字符,如@khelwood 评论:
$ echo "ensPpaJxUanRSxRzWSqMcLrYZDhkCp" | python -c 'import sys; print(list(sys.stdin))'
['ensPpaJxUanRSxRzWSqMcLrYZDhkCp\n']