我一個CSV文件的工作像這樣SED,AWK正則表達式替換字符串
"EF", "12345", "Test, String", "Xyz"
,我需要輸出
"EF", "12345", "Test$$$ String", "Xyz"
基本上我需要$$$
更換逗號我一個CSV文件的工作像這樣SED,AWK正則表達式替換字符串
"EF", "12345", "Test, String", "Xyz"
,我需要輸出
"EF", "12345", "Test$$$ String", "Xyz"
基本上我需要$$$
更換逗號您可以使用GNU的awk的這個:
awk 'BEGIN{OFS=", "; FPAT="\"[^\"]+\""} {sub(/,/, "$$$", $3)} 1' file
"EF", "12345", "Test$$$ String", "Xyz"
sed ':a
s/^\(\([[:blank:]]*"[^"]*",\)*[[:blank:]]*"[^",]*\),/\1\$\$\$/
t a
' YourFile
;
內通過"
分隔字符串中刪除(所以不最快)"
內部字符串(如果是這種情況,需要適應一下)它也適用於sub。
的awk '{子(/測試,/, 「測試$$$」)} 1' 文件
「EF」, 「12345」, 「測試$$$字符串」, 「XYZ」
什麼。 Have.You.Try? –
Iam根據特定列對大型CSV文件(〜4GB)進行排序。 CSV文件是逗號分隔的。我打算使用unix'sort',它的速度更快,但是我有一些包含行值的逗號(,)的行。如何在列數增加的情況下排序(,)用作分隔符。 例如: 這裏我想根據2和第4列進行排序,但是如果我使用(,)作爲分隔符,我將在第1行和4列第2行中總共得到5列,這將破壞排序。 「wert」,「DGC」,「Xyt,temp」,「3456」 「wert」,「ABC」,「ppp」,「1234」 – jsphdnl
從您的數據處理中消除了一整類問題並開始導出以'|'字符作爲分隔符的數據。祝你好運。 – shellter