这个问题没有问的是如何在与模式匹配的每一行下方或上方添加新行。
我要做的是在一行上存在的模式之间添加新行。
这是一个例子。
前:
周一:上午 8 点至晚上 10 点
后:
周一:
上午 8 点至晚上 10 点
因此,在这种情况下,在每个“星期一”模式之后插入新行。
echo 'Monday:8am-10pm' | sed -e 's/^Monday:/&\n/'
对于不超过 ' :
' 的字符:
echo 'Monday:8am-10pm' | sed -e 's/^[^:]*:/&\n/'
sed 's/Monday:/&\n/g'
sed 's/Monday:/&\n\n/g'
将替换它们(假设您想要 2 个换行符,如上所示)
使用 sed:
echo "Monday:8am-10pm" | sed -e 's/:/:\n\n/'