如何使用shell命令匹配某个字符后换行?

如何使用shell命令匹配某个字符后换行?

文件1:

John Daniel Hommes Cameron;Emily Terry Mussy Barbara
Mimi Papu;David Swiss Jen
Hans Peter Iril;Kelvin
Lilly Gucci Kate Nik;Forum Bill
June;Jill and Jack

输出文件:

John Daniel Hommes Cameron
Emily Terry Mussy Barbara
Mimi Papu
David Swiss Jen
Hans Peter Iril
Kelvin
Lilly Gucci Kate Nik
Forum Bill
June
Jill and Jack

答案1

tr \; \\n <in >out

...很可能是从样本输入到样本输出的最有效方法。

答案2

IIUC,您想;用换行符替换 的每个实例。您可以使用sed

sed -i 's,;,\n,g' <FILE>

如果您sed不支持-i

sed  's,;,\n,g' <FILE>  > <OUTPUT_FILE>

答案3

它应该有效:

awk 'BEGIN{RS=";"}{print $0}' filename

相关内容