【发布时间】:2019-05-21 01:14:08
【问题描述】:
我似乎无法获得一个不会在所有 domain: 出现之间或仅在 domain: 和 dataamount: 之间放置换行符的正则表达式
感谢this askubuntu 上的有用帖子,我已尝试将该部分的换行符压缩为逗号,以便我可以处理生成的字段,但似乎没有结果。
| grep -e ' domain:' -e 'total' | tr '\n' , | sed 's/,dataamount:/,\ndataamount:/g' | tr , '\n'
它只会在最后一个 domain: 和 dataamount: 之间添加一个换行符,如果我想在 dataamount: [0-9].*\'? 之后添加一个换行符
domain: domain1.com
domain: domain2.info
domain: domain3.com
dataamount: 9210470
domain: domain4.com
domain: domain5.com
domain: domain6.com
dataamount: '25325235235'
domain: domain7.com
domain: domain8.com
dataamount: 12321
我想让这些数据集的开头有换行符。
domain: domain1.com
domain: domain2.info
domain: domain3.com
dataamount: 9210470
domain: domain4.com
domain: domain5.com
domain: domain6.com
dataamount: '25325235235'
domain: domain7.com
domain: domain8.com
dataamount: 12321
它们都以domain: 开头,似乎所有列出这些问题的 awk/sed 解决方案的地方都没有考虑数字和单引号中的数字被拆分为换行符并保留数字并且只会匹配起始 @ 987654332@ 直到一组之后,所以很难找到任何符合我的问题的东西。
【问题讨论】:
标签: bash command-line text-formatting