用新行替换文本/字符串

用新行替换文本/字符串

我有一个要求,我需要根据文本将数据移动到新行:

Input
:61: 456 B66666 :61: 878 N78777 :61: 534533534 BNNN

Output
:61: 456 B66666
:61: 878 N78777
:61: 534533534 BNNN

所以基本上,一旦遇到它就:61:应该移动到新的一行。

答案1

这是一个非常简单的解决方案,非常适合您的示例:

sed 's/ :61:/\n:61:/g' < input_file

:61:您可能需要稍微调整一下,特别是如果您的输入文件中前面并不总是有空格的话。

答案2

与@lgeorget的答案类似,这会在任何“:61:”之前添加一个换行符,即不是在该行的开头:

perl -pe 's/(?<!^)(?=:61:)/\n/g' file

相关内容