Macos 如何在Mac OSX中使用sed将制表符分隔的文件转换为逗号分隔的文件?

Macos 如何在Mac OSX中使用sed将制表符分隔的文件转换为逗号分隔的文件?,macos,sed,Macos,Sed,我正在从终端执行一个MySQL查询,并试图将输出从一个以制表符分隔的文件转换为一个以逗号分隔的文件。我尝试了以下方法,但没有成功: ... mysql query | sed 's/\t/,/g' ... mysql query | sed 's/\\t/","/g' ... mysql query | sed 's/\\t/\\",\\"/g' 这些方法的各种组合都很不走运。我在这里找到了解决方案。您必须按ctrl+v键插入选项卡,然后按tab按钮手动插入选项卡。由于某些原因,Mac OSX

我正在从终端执行一个MySQL查询,并试图将输出从一个以制表符分隔的文件转换为一个以逗号分隔的文件。我尝试了以下方法,但没有成功:

... mysql query | sed 's/\t/,/g'
... mysql query | sed 's/\\t/","/g'
... mysql query | sed 's/\\t/\\",\\"/g'

这些方法的各种组合都很不走运。

我在这里找到了解决方案。您必须按ctrl+v键插入选项卡,然后按tab按钮手动插入选项卡。由于某些原因,Mac OSX终端中的sed不喜欢\t正则表达式

... mysql query | sed 's/   /,/g'

我在这里找到了解决办法。您必须按ctrl+v键插入选项卡,然后按tab按钮手动插入选项卡。由于某些原因,Mac OSX终端中的sed不喜欢\t正则表达式

... mysql query | sed 's/   /,/g'

另一个更简单的选项是使用tr将制表符音译为逗号,如下所示:

mysql query | tr '\t' ','

另一个更简单的选项是使用tr将制表符音译为逗号,如下所示:

mysql query | tr '\t' ','

不要。只需运行您的查询作为选择。。。输入输出文件“foo.csv”字段,以“,”不结尾。只需运行您的查询作为选择。。。在以“,”结尾的文件“foo.csv”字段中,您可以使用C字符串:sed's/'$'\t/,/g',或者,只要sed命令如此简单,sed$'s/\t/,/g'。注意,$'…'需要bash。实际上,我不知道终端是如何进入这个等式的。如果sed's/\t/,/g'不起作用,sed不是不能正确解释吗?或者,您可以使用C字符串:sed's/'$'\t/,/g'或者,只要sed命令如此简单,sed$'s/\t/,/g'。注意,$'…'需要bash。实际上,我不知道终端是如何进入这个等式的。如果sed的/\t/,/g'不起作用,sed不是不能正确解释吗?