我有一个.txt文件,格式如下:
Artist 1, Artist 2, Artist 3,
Venue name,
City, State,
xx/xx/xxxx
Artist 4,
Venue name,
City, State,
xx/xx/xxxx
每个部分的艺术家数量可变,每个条目之间有一堆新行。我想达到一个点,我可以将其导入到带有某种分隔符的电子表格中,这样我就可以将每个部分放在它自己的行中(其中每行有四列,属于四个字段 - 艺术家,地点,地点,日期。)
图我需要:
,\n
的所有实例 ...但似乎无法找到一种方法让这个工作与sed
一起工作。任何帮助将不胜感激!
答案 0 :(得分:1)
您可以参考How can I replace a newline (\n) using sed?
,以获得一些帮助。这里的命令可以实现你想要的,我假设分隔符在这里 !
。
$ sed -e ':a;N;$!ba;s/,\n/!/g;s/\n//g' file
Artist 1, Artist 2, Artist 3!Venue name!City, State!xx/xx/xxxxArtist 4!Venue name!City, State!xx/xx/xxxx
简要说明,
:a;N;$!ba;
:您需要在处理替换之前解析整个文件。参考上面的链接可能会让你更加详细。s/,\n/ !/g
:将,\n
替换为!
s/\n//g
:删除额外的换行符