-1
sed命令我去到终端,我把这个命令:错误在终端
sed 's/X(Y)Z/A/g' filename.csv > newfile.csv
试图用更换X(Y)Z
。我认为Y周围的括号可能会使事情复杂化。
这是我得到的错误:RE错误:非法字节序列。
请让我知道我能做些什么。
sed命令我去到终端,我把这个命令:错误在终端
sed 's/X(Y)Z/A/g' filename.csv > newfile.csv
试图用更换X(Y)Z
。我认为Y周围的括号可能会使事情复杂化。
这是我得到的错误:RE错误:非法字节序列。
请让我知道我能做些什么。
我怀疑问题是您的文件filename.csv
包含非ASCII(可能是Unicode)字符,而您的sed
期待ASCII。
首先要做的是检查文件,看看是否是这种情况。我认为你可以这样做:
cat -vet filename.csv
你可能会看到非ASCII的高亮字符。或者,您可以使用iconv
尝试将其转换为ASCII,并查看它是否出现错误,因为其中存在非ASCII字符。
如果有非ASCII在那里字符(比如重音和非英文字符,有的时候表情符号,撇号和引号),您可能需要告诉sed
它们的存在,或者如果删除不高兴字符你并不需要它们。
要查看sed
的期望值,您需要运行locale
并通过单击其下面的edit
将输出粘贴到原始问题中。然后,您可能需要更改您的区域设置,以使sed
像Unicode中所建议的那样对Unicode更高兴。
希望有帮助!
你写的命令对我来说工作得很好。 – John1024
你需要添加关于你正在使用的shell的信息,你正在使用什么类型的系统等等。你的命令适用于几个不同的系统。 – Feneric
嘿,我使用bash,并在Mac Pro 2015上。谢谢! – HSB