在窗口中使用sed将管道分隔的文件转换为csv



样本文件

NFTY|First Trust India Nifty 50 Equal Weight ETF|G|N|N|100|Y|N
NGHC|National General Holdings Corp - Common Stock|G|N|N|100|N|N

所需

NFTY,First Trust India Nifty 50 Equal Weight ETF,G,N,N,100,Y,N
NGHC,National General Holdings Corp - Common Stock,G,N,N,100,N,N

适用于bash,但不适用于windows

sed 's/^/"/;s/|/","/g;s/$/"/' file

windows 中的错误

sed: -e expression #1, char 0: no previous regular expression

Windows中的转义符是^,这意味着sed的参数将作为s//"/;s/|/","/g;s/$/"/传递,因为^只是对其后面的斜杠进行转义。在该字符之前添加另一个^(sed 's/^^/"/;s/|/","/g;s/$/"/' file(,以便在参数中获得文字^

(错误"没有以前的正则表达式"是因为如果将空的匹配正则表达式传递给seds命令,它将使用会话中使用的最后一个匹配正则表达式,但这里没有。(

最新更新