分離列我這裏有一個很奇怪的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分鐘... –