使用 perl 在两行之间插入新行
我想在第 2 行和第 3 行之间插入包含此行
abc
abcd:
abc
abcd
输出中的连接字符串的行:
abc
abcd:
abcd: abcd
abc
abcd
I want to insert line beetwen line 2 and line 3 that contain concatenate string from this lines
abc
abcd:
abc
abcd
Output:
abc
abcd:
abcd: abcd
abc
abcd
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您想在以冒号结尾的行之后或第 2 行之后添加一些内容吗?
如果在第 2 行之后,您可以
split("\n", $string)
获取行数组,将新行拼接到数组的位置 2 中,然后join(" \n", @array)
来获取字符串。如果在以冒号结尾的行之后,您可以使用正则表达式:
s/(:\n)/\1YOUR_NEW_LINE_HERE\n/
。You want to add something after a line that ends with a colon, or after line 2?
If after line 2, you can
split("\n", $string)
to get an array of lines, splice the new line into the array in position 2, and thenjoin("\n", @array)
to get the string back.If after the line ending in the colon, you can use a regex:
s/(:\n)/\1YOUR_NEW_LINE_HERE\n/
.由于您没有指定要在以冒号结尾的每一行后面放置的内容,因此我创建了一个表来代表一些通用决策和稍微灵活的处理。
在当前行之后“插入”一行就像将该文本附加到当前行并输出一样简单。
Since you don't specify what you want to put after each line that ends with a colon, I've created a table to stand for some generic decision-making and somewhat flexible handling.
"Inserting" a line after the current one is as easy as appending that text to the current one and outputting it.
test 是有问题的文件
test is the file in question