我尝试将数字列表格式化为邮政编码格式(五位数字)。我使用该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
查找由空格分隔的数字。其次,当您编写时^
,$
您要求五位数应该占据整行,因此在您的示例中的四个数字中,只有最后两个能够通过测试。那是你要的吗?