我在查找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或終端。 –