Regex 如何替换要加载到数据库中的海量文件中的特殊字符

Regex 如何替换要加载到数据库中的海量文件中的特殊字符,regex,sed,ssis,Regex,Sed,Ssis,我有大量的文本文件,其中包含ASCII字符1 SOH作为列分隔符,ASCII字符2 STX作为行分隔符。我一直在研究如何查找和替换这些字符,但在查看时遇到了很多困难,因为我甚至无法找到如何引用它们。我认为我应该使用一个名为sed的实用程序,但我已经阅读了所有的,而不是任何关于特殊字符的更明智的工具 我想用|替换SOH,用回车和换行替换STX,有人知道怎么做吗?你可以用tr这样做: cat <your_file> | tr '\001' ',' | tr '\002' '\n' 如果

我有大量的文本文件,其中包含ASCII字符1 SOH作为列分隔符,ASCII字符2 STX作为行分隔符。我一直在研究如何查找和替换这些字符,但在查看时遇到了很多困难,因为我甚至无法找到如何引用它们。我认为我应该使用一个名为sed的实用程序,但我已经阅读了所有的,而不是任何关于特殊字符的更明智的工具

我想用|替换SOH,用回车和换行替换STX,有人知道怎么做吗?

你可以用tr这样做:

cat <your_file> | tr '\001' ',' | tr '\002' '\n'

如果要更改多个文件,可以使用find命令列出带有-exec标志的文件,并在上面一行。

将ASCII转换为字节字符数组,这样做会更方便。Sed适用于unix。您在Unix上吗?在C:s.Replace\u0001中,|;s、 替换\u0002\r\n;将特殊字符保留在文件中,只使用这些分隔符导入文件,您感觉如何?我在上面的重复候选项中执行了相同的步骤,只是将x0001用作列分隔符,将x0002用作行分隔符。我可以很好地导入数据。将其作为单独的注释,以便在dupe逻辑运行时,保留相关位。