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