Shell:在给定文本行之间添加新行

发布于 2024-07-15 05:32:17 字数 316 浏览 4 评论 0原文

这个问题不是问的是如何在与模式匹配的每行下方或上方添加新行。

我想做的是在一行上存在的模式之间添加一条新行。

这是一个例子。

之前:

周一:上午 8 点至晚上 10 点

之后:

周一:

上午 8 点至晚上 10 点

因此,在本例中,请在每个“星期一”模式后插入新行。

What this question isn't asking is how to add a new line below or above every line which matches a pattern.

What I'm trying to do is add a new line between a pattern that exists on one line.

Here is an example.

before:

Monday:8am-10pm

after:

Monday:

8am-10pm

Thus in this case, insert new line after every 'Monday' pattern.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

拥抱我好吗 2024-07-22 05:32:17
echo 'Monday:8am-10pm' | sed -e 's/^Monday:/&\n/'

对于 ':' 之前的字符:

echo 'Monday:8am-10pm' | sed -e 's/^[^:]*:/&\n/'
echo 'Monday:8am-10pm' | sed -e 's/^Monday:/&\n/'

For characters up to ':':

echo 'Monday:8am-10pm' | sed -e 's/^[^:]*:/&\n/'
画离情绘悲伤 2024-07-22 05:32:17
sed 's/Monday:/&\n/g'
sed 's/Monday:/&\n/g'
白龙吟 2024-07-22 05:32:17
sed 's/Monday:/&\n\n/g'

将替换它们(假设您需要 2 个换行符,如上所示)

sed 's/Monday:/&\n\n/g'

will replace them (supposing you want 2 newlines as shown above)

执妄 2024-07-22 05:32:17

使用 sed:

echo "Monday:8am-10pm" | sed -e 's/:/:\n\n/'

Using sed:

echo "Monday:8am-10pm" | sed -e 's/:/:\n\n/'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文