我在查找sed的结果时遇到了麻烦。我把它简化为我就能把最简单的事情,我得到这个:为什么我在eshell中获得sed的奇怪结果?
echo 1234567890abcdefghijklmnopqrstuvwxyz | sed 's/[:digit:]*/X/g'
我有望获得:
Xabcdefghijklmnopqrstuvwxyz
输出我从这个得到的是:
X1X2X3X4X5X6X7X8X9X0XaXbXcXeXfXhXjXkXlXmXnXoXpXqXrXsXuXvXwXxXyXzX
这不是我所期望的。如果我改变我的正则表达式:
echo 1234567890abcdefghijklmnopqrstuvwxyz | sed 's/[0-9]*/X/g'
我得到:
XaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzX
更接近我所期望的。我只是意识到我在标准终端中没有这个问题,只有在aquamacs eshell中...我认为它必须是字符编码问题?也许unicode相关?我如何确定这一点,以及如何解决这个问题?
你有什么期望准确而不是你的第二个例子中' XaXbXcXdXeXf ...'?我也使用Aquamacs,并获得相同的输出,无论是在Eshell或终端。 –