「検索」の結果を sed にパイプするのに問題がありました。壊すことができる最も単純なものに単純化したところ、次のようになりました。
echo 1234567890abcdefghijklmnopqrstuvwxyz | sed 's/[:digit:]*/X/g'
私は得ると思っていました:
Xabcdefghijklmnopqrstuvwxyz
これから得られる出力は次のとおりです。
X1X2X3X4X5X6X7X8X9X0XaXbXcXeXfXhXjXkXlXmXnXoXpXqXrXsXuXvXwXxXyXzX
これは私が期待していたものではありません。正規表現を次のように変更すると:
echo 1234567890abcdefghijklmnopqrstuvwxyz | sed 's/[0-9]*/X/g'
私は得る:
XaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzX
これは私が期待したものに近いです。この問題は標準端末ではなく、aquamacs eshell でのみ発生することに気付きました...文字エンコーディングの問題だと思いますか? たぶんユニコード関連?これを確実に判断するにはどうすればよいですか? また、この問題を解決するにはどうすればよいですか?