使用字符类将数字列表格式化为邮政编码格式

使用字符类将数字列表格式化为邮政编码格式

我尝试将数字列表格式化为邮政编码格式(五位数字)。我使用该sed实用程序来执行此操作。假设file.txt包含“23232334”、“3434654”、“33532”、“94607”。在我的剧本中,我写道:

sed -n '/^[0-9] [0-9] [0-9] [0-9] [0-9]$/p' file.txt

但它不起作用。

我也尝试过

sed -n '/^[[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]]$/p' file.txt

根据我对字符类的理解,这些步骤应该有效,但我不知道为什么我没有得到任何输出。

请帮忙

谢谢

答案1

您的命令不起作用的原因有很多。首先,数字之间有空格,并sed查找由空格分隔的数字。其次,当您编写时^$您要求五位数应该占据整行,因此在您的示例中的四个数字中,只有最后两个能够通过测试。那是你要的吗?

相关内容