我試過使用下面的代碼,但csv文件有超過8000萬行(大約25GB),並且一些特殊字符似乎中斷回聲命令。 csv有2列用逗號分隔。 例如:Bash:Base64在非常大的.csv中編碼1列,並輸出到新文件
blah, blah2
data1,data2
line3,fd$$#$%T%^Y%&$$B
somedata,%^&%^&%^&^
的目標是採取第二列和Base64是要準備好導入到SQL數據庫。我在第二列做了base64編碼,所以有unicode支持等,沒有字符會損壞分貝。 我正在尋找這樣做的更有效的方式,不會對特殊字符等打破
awk -F "," '
{
"echo "$2" | base64" | getline x
print $1, x
}
' OFS=',' input.csv > base64.csv
錯誤:
sh: 1: Syntax error: word unexpected (expecting ")") :
not foundrf :
not found201054 :
not foundth :
not foundz09
| base64' (Too many open files)ut.csv FNR=1078) fatal: cannot open pipe `echo q1w2e3r4
另一個問題,我發現是第二列可能包含數據中的逗號。無論如何解決? – illwill