Regex 无效的正则表达式字节序列
我正在尝试编译/安装libX11,但在Regex 无效的正则表达式字节序列,regex,sed,Regex,Sed,我正在尝试编译/安装libX11,但在nls子目录中遇到问题。Make正在通过以下命令关闭: /usr/bin/cpp -DWCHAR32=1 < ./locale.alias.pre | sed \ -e '/^# *[0-9][0-9]* *.*$/d' \ -e '/^#line *[0-9][0-9]* *.*$/d' \ -e '/^[ ]*XCOMM$/s/XCOMM/#/' \ -e '/^[ ]*XCOMM[^a-z
nls
子目录中遇到问题。Make正在通过以下命令关闭:
/usr/bin/cpp -DWCHAR32=1 < ./locale.alias.pre | sed \
-e '/^# *[0-9][0-9]* *.*$/d' \
-e '/^#line *[0-9][0-9]* *.*$/d' \
-e '/^[ ]*XCOMM$/s/XCOMM/#/' \
-e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/' \
-e '/^[ ]*XHASH/s/XHASH/#/' -e '/\@\@$/s/\@\@$/\\/' > locale.alias.l1
/usr/bin/cpp-DWCHAR32=1locale.alias.l1
错误消息为
sed:RE错误:非法字节序列
。有人能告诉我无效字节序列在哪里吗?谢谢。结果是,sed
抱怨非UTF8文件中的UTF-8字符(å
,ç
,等等)。删除带有这些字符的行修复了问题。这可能是您的cpp
正在“发射”某些内容并被传递到sed
中,或者sed-e'/…'cmds有问题。最简单的方法是注释掉除1-e/../
cmd之外的所有内容,并确定其中是否有问题。如果您在问题中添加标签以显示您正在构建的操作系统、cpp和sed的版本,这也会有所帮助。最后,即使为true,也不会引起问题,但如果您将/^[]
位复制/粘贴到该代码中,请手动编辑它们,以确保它确实是[..]
方括号内的空格字符和制表符。