這樣做的最佳方式是什麼?CSV - 如何基於現有列添加列?
我收集的東西叫sed
,AWK
和bash
可能是相關的。 我已經用AWK
一次爲一個命令,其他人從來沒有。 我已經搜索和其他顯然類似的問題沒有我需要的答案。
我有一個CSV文件,我已經叫fields
列:
_________________________
field1 | field2 | field3|
-------------------------
1990AB | 123456 | 123456|
-------------------------
我想基於這三個原始fields
顯示爲增加fields
如下:
_______________________________________________________
field1 | field2 | field3 | field1a | field2a | field3a |
-------------------------------------------------------
1990AB | 123456 | 123456| 1990 | 12345 | 12345 |
-------------------------------------------------------
其中:
field1a
1990第1欄第4位總是數字然後阿爾法field2a
12345第2欄是始終6位數字field3a
12345第3欄是始終6位數字
這些都是一次性每個文件的動作,數據庫導入之前。
macosx
有約600萬條記錄。第一次嘗試這個問題顯然不是很好。在這方面我是一個100%新手。
您的文件模式管道是用數據之間的空格分隔的嗎?您的標題和充滿破折號的數據之間是否有額外的記錄?如果不是,你可以分享你的文件看起來像什麼(前幾個記錄),確切地說你想要的輸出是什麼? – JNevill
此外,對於你想要的輸出,你只是想要'field'的前4個字符,'field2'和'field3'的前5個字符在你的記錄中顯示爲新的字段?或者在這裏應用了其他一些邏輯,例如'field4'只是'field1'的數字部分,'field5'和'field6'是'field2'和'field3'除以10並舍入到最接近的整數。 – JNevill
管道空間和下劃線和破折號是爲了讓我相信我應該使用如果我希望得到答案的情況下,stackoverflow的首選演示文稿。這是一個以逗號分隔的文件,所以field1,field2,fieldn,...和yes都有一個標題row1。我假設「文件模式」意味着它是如何佈局的。我會編輯這個問題來回答你的其他問題。謝謝。 – Anthony500