分离列我这里有一个很奇怪的FILEFORMAT,它使用制表和空格的任何数额单独场(偶数尾随和领导者)。另一个特点是,可以在这些字段中添加空格,然后以CSV方式进行转义。被分隔用制表和空格
一个例子:
0 "some string" 234 23947 123 ""some escaped"string""
我尝试用AWK解析这样的列和我将需要具有在阵列中,例如每一个项目
foo[0] -> 0
foo[1] -> "some string"
foo[2] -> 234
foo[3] -> 23947
foo[4] -> 123
foo[5] -> ""some escaped"string""
这是可能的吗?我读http://web.archive.org/web/20120531065332/http://backreference.org/2010/04/17/csv-parsing-with-awk/其中说,解析csv已经很难了(对于开始它应该足以解析正常的字符串与空格,逃脱的变体是非常罕见的)
之前,我乱了很长时间:有没有什么办法在awk中这样做还是我最好使用其他语言?
你最好将时间花在哄从生产系统中的正确格式的输出; - /(是的,CSV而unix工具有不同的哲学背景。)祝你好运。 – shellter
@shellter哈哈:d这将可能不会发生......这些文件是由一些软件产生只能在Windows上运行,一些半书面文件和我尝试将它们转换成便于阅读的格式...:/开发人员已经表示他不会支持他自己的任何软件,所以唯一的办法就是用我自己的方式来转换文件。我不知道他怎么能读他的产品 – reox
文件快速浏览后,我会说,解决方案应该是有状态的,如果使用正则表达式先行将需要哪些awk不支持。我应该说,它真的很难使用awk做的和别人的代码会在它15分钟... –