在 Unix 中将 \x0D\x0A 替换为 space。种子

Replace \x0D\x0A with a space in Unix. Sed

我正在尝试用 space 自动替换换行符 (\x0A) 和回车符 return (\x0D)。

这些字符出现在 table 中,我用 UTF-8 编码从 Sybase 中的数据库导出 Windows。我在 Unix 中操作文件。

到目前为止,我可以在文本编辑器中手动删除它们,使用正常搜索模式(不是转义字符选项),但我想 运行 删除几个 table。

我已经使用失败:

sed -i -e 's/\x0D\x0A/ /g' file_name.csv

已编辑:

sed -i -e 's/%\x0D\x0A%/ /g' file_name.csv
sed -i -e 's/%\CR\LF%/ /g' file_name.csv
sed -i -e 's/%\r\n%/ /g' file_name.csv
tr ''  '  ' < file_name.cvs
tr '\x0D\x0A'  '  ' < file_name.cvs

这是 table 行的样子:

30,57786,'B1','Philadelphia Coll Pharm 1879\x0D\x0A','Leaves'

您可以在 tr 中轻松做到这一点,这需要八进制表示法:

 tr '' '  ' < file_name.csv
  • </code> 和 <code> 是八进制的 x0Dx0A
  • 用于替换那些的字符只是空格作为 tr.
  • 的第二个参数

如果文本中包含文字反斜杠,您需要将它们加倍。

sed -i -e 's/\x0D\x0A/ /g' file_name.csv