【发布时间】:2019-08-11 13:24:31
【问题描述】:
我正在使用 Lubuntu 19.04。我有一个名为text 的文件,其中包含大写和小写字符的混合。我正在尝试用'*' 替换所有这些字符,但我收到了一条错误消息。
sed: -e expression #1, char 11: Invalid range end
这是我的代码:sed 's/[A-z]/*/g' text
我原以为屏幕上会显示星号 (*) 的输出,但我收到以下错误消息:sed: -e expression #1, char 11: Invalid range end
我该如何解决这个问题?
【问题讨论】:
-
我无法重现您的错误。您使用的是什么版本的 sed?另外,当您尝试
sed 's/[A-Z]/*/g' text时会发生什么? -
@Beta 如何查看 sed 的版本?
sed 's/[A-Z]/*/g' text将所有大写字符替换为 * -
非 sed 替代 fwiw:
tr 'A-Za-z' '[**]' < text