gpt4 book ai didi

regex - 在已知文本 block 中插入一行

转载 作者:行者123 更新时间:2023-12-04 07:06:05 25 4
gpt4 key购买 nike

我将文本的“块”定义为文件开头、换行符或文件结尾之间的所有行:

block1
block2
block3

anotherblock4
anotherblock5
anotherblock6

lastblock7
lastblock8

任何文本都可以占据一个块 - 不知道那里有哪些行。
我试图编写一个 shell 脚本来在第二个块中插入一个新行,但是由于 sed 不喜欢使用换行符,我绕过了这个 sed oneliner:
sed -n "H;\${g;s/\n\n/\nTEST\n\n/2;p}"

这导致:
[newline]
block1
block2
block3

anotherblock4
anotherblock5
anotherblock6
TEST

lastblock7
lastblock8

问题是,它在缓冲区的开头添加了一个换行符(标记为 [newline] 因为 StackOverflow 的标记无法显示它)
有没有另一种方法可以使用不同的工具或不同的正则表达式来做到这一点?

最佳答案

这可以满足您的需求并摆脱不需要的 newline一开始:

sed -n "1{x;d};H;\${g;s/\n\n/\nTEST\n\n/2;p}"

关于regex - 在已知文本 block 中插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1095560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com