sed pad一个包含数字的字符串,如果小于10,则为0

时间:2014-08-04 13:29:51

标签: sed

我有几个字符串:

4/1
4/2
4/40

..并且想用sed用小于10的数字填充字符串0,所以输出看起来像:

4/01
4/02
4/40

我在为此制作sed语句时遇到问题。你能帮忙吗?

这是我到目前为止所做的,我不知道该怎么办我才有'???'

sed 's#\/[0-9]#\/0???#g' myfile

1 个答案:

答案 0 :(得分:1)

你很亲密:

$ sed -r 's#/([0-9])$#/0\1#' a
4/01
4/02
4/40

只需查看行$的结尾并抓住()中的块,然后使用\1将其打印回来。此外,不需要g,因为它每行只会发生一次。最后,无需转义/,因为您使用的是分隔符#