2014-12-19 82 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;