2014-12-19 87 views
-3

类似answers是如此复杂且难以理解;我将不得不花费数小时学习不必要的awk,sed和/或RegEx命令。在每个分号后插入新行

所以,我有一个是在一个巨大的线格式化一个很长的文件(foo_In.txt),像这样:

stuff;stuff3;stuff;asdf;fsdf;asdf;sfd; 

我想输入foo_In.txt和输出foo_Out.txt,

stuff; 
stuff3; 
stuff; 
asdf; 
fsdf; 
asdf; 
sfd; 

我可以使用批处理,shell或python等脚本语言。

+1

你需要;符号?如果没有更短的选项tr';' '\ n'<文件 – tinySandy

回答

3

这样做:

sed "s/;/;\n/g" foo_In.txt > foo_Out.txt 
+0

完美!到底我在找什么......简短又甜蜜。 –

+0

男人你救了我的培根非常感谢! –

1

awk可以做到这一点:

awk '{gsub(/;/,"&\n")}1' file 
stuff; 
stuff3; 
stuff; 
asdf; 
fsdf; 
asdf; 
sfd; 
2
$ awk -v RS=';' -v ORS=';\n' 'NF' file 
stuff; 
stuff3; 
stuff; 
asdf; 
fsdf; 
asdf; 
sfd;