2016-01-04 41 views
0

我有一個包含500行和8列的csv文件。一列是辦公室電話號碼。其中約200人的形式是-1234,但需要是123-456-7890。通過預先設置固定值修改sed文本字符串

200個實例中的每個實例都有不同的最後四個,因爲它們是桌面電話號碼。地區代碼和兌換部分對所有人都是一樣的。因此,作爲一個例子,我們有三個數據點:

-2329 
-5679 
-8891 

這三個項目需要轉換爲完整的電話號碼,以便將需要看起來像:

212-598-2329 
212-598-5679 
212-598-8891 

人有sed的非凡才能把這個關掉?

數據的示例行看起來像:

Bill,Smith,Mr.,[email protected],bsmith,-5315,800-878-5554,\N,\N,\N,\N 
+0

你應該列出你的CSV爲例至少一行。 – Kent

回答

0

我會使用awk

awk -F, '{$6="212-598"$6}1' OFS=, input.file 

使用,作爲輸入和輸出字段分隔符是簡單的訪問第六字段和前置靜態值。

0

替代使用sed

$ sed 's/,-/,212-598-/' missing_phone 

Bill,Smith,Mr.,[email protected],bsmith,212-598-5315,800-878-5554,\N,\N,\N,\N