正则表达式在小数点前放置管道定界符

问题描述 投票:0回答:1

我需要帮助编写一个正则表达式,该正则表达式在一些文本之后(单词与特殊字符和数字混合)但在小数点之前放置管道定界符。

示例文本:

迈尔斯堡市 ***9999 5 7 6 . 0 0

佐治亚州 ******1234 3 5 . 1 5

佛罗里达州税务局 ****4321 2 9 6 . 8 0

亚利桑那州牧师部 *****0123 2 4 9 6。 7 3

科罗拉多州税务局 --8754 1 7 5 5 4 . 4 7

迈阿密市 2 5 。 0 0

这是我期待的结果:

迈尔斯堡市 ***9999 | 5 7 6 。 0 0

佐治亚州 ******1234 | 3 5 。 1 5

佛罗里达州税务局 ****4321 | 2 9 6 。 8 0

亚利桑那州牧师部 *****0123 | 2 4 9 6 。 7 3

科罗拉多州税务局 --8754 | 1 7 5 5 4 。 4 7

迈阿密市 | 2 5 。 0 0

regex pipe delimiter
1个回答
0
投票

假设您的小数点中的空格不是故意的,您可以使用 sed 命令通过以下正则表达式执行此操作:

cat /tmp/test.txt |sed -e 's/ [0-9]*\.[0-9]*/ |\0/g'

这假设 /tmp/test.txt 文件包含您在问题中提到的文本。

© www.soinside.com 2019 - 2024. All rights reserved.