Csv 终端中的sed命令出错
我进入终端,输入以下命令:Csv 终端中的sed命令出错,csv,sed,terminal,command,syntax-error,Csv,Sed,Terminal,Command,Syntax Error,我进入终端,输入以下命令: 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 您可
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,就像我在评论中建议的那样
希望有帮助 你的命令,如前所述,对我来说很好。你需要添加关于你正在使用的shell、你正在使用的系统类型等的信息。你的命令在两个不同的系统上对我有效。嘿,我正在使用bash,我在Mac Pro 2015上。谢谢对不起,我对编码很陌生!sed:RE错误:非法字节序列