我一直在尝试编写一个将csv文件转换为汇合表的bash脚本。
我想要一个转换的sed命令(或几个):
one,two,,three
到
|one|two| |three|
请注意,没有数据时需要空格。
我一直在努力寻找有用的东西。
答案 0 :(得分:3)
以下是一个例子:
# first, replace comma with pipe
y/,/|/
# loop, replacing consecutive pipes
:loop
s/||/| |/
tloop
或者,您应该能够s/||/| |/g
两次,因为第一个错过的所有||
(由于开始重叠上一个替换的结束)将被第二个捕获。