【发布时间】:2014-10-07 01:55:27
【问题描述】:
我有一个数据库备份文件,其中数据是一长行,由以下分隔符分隔
字段分隔符为~^
行分隔符是^~
如何将其转换为行并将它们放入列中。
我只是希望能够将其转换为逗号分隔值,以便我可以使用 excel 处理数据。我知道 SED 工具可以帮助实现这一目标,但是否还有其他替代方法可以实现这一目标。
我尝试过notepad++,但也无法弄清楚
【问题讨论】:
我有一个数据库备份文件,其中数据是一长行,由以下分隔符分隔
字段分隔符为~^
行分隔符是^~
如何将其转换为行并将它们放入列中。
我只是希望能够将其转换为逗号分隔值,以便我可以使用 excel 处理数据。我知道 SED 工具可以帮助实现这一目标,但是否还有其他替代方法可以实现这一目标。
我尝试过notepad++,但也无法弄清楚
【问题讨论】:
将 GNU awk 用于多字符 RS:
awk -v RS='\^~' -F'~\^' -v OFS=, '{$1=$1}1' file
如果你没有 GNU awk,那么就得到它,但如果你不能,那么最简单的可能是:
awk -F'~\^' -v OFS=, '{gsub(/\^~/,ORS); $1=$1}1' file
以上内容未经测试,因为没有提供示例输入和预期输出。
【讨论】: