【发布时间】:2017-10-06 04:59:56
【问题描述】:
我正在编写一个用零填充一位、两位和三位数字的 bash 脚本。例如:
file.txt:
2
22
222
2222
a2a2
2a2a
a22a
2aa2
22a2
output.txt:
0002
0022
0222
2222
a0002a0002
0002a0002a
a00022a
0002aa0002
0022a0002
此脚本的目的是填充数字,直到它们最多达到 4 位。
我必须使用sed 命令来完成。我想过这样做,但它并没有像我想要的那样工作。
sed -r -i 's/[0-9]{1}/0&/g' file.txt
【问题讨论】:
-
I have to do it with the sed command- 为什么? sed 是完全错误的工作工具。就像说你必须用螺丝刀种一棵树。 -
也许他们在一个带有
sed但没有 AWK 的嵌入式系统上(我知道,我知道,busybox 两者都有)。或者带有sed.exe二进制文件但没有AWK 的Windows 系统。也许这是 Unix 编程课的作业。也许他们只是想舒展一下自己的大脑,或者对sed变得非常好。我的意思是,当几乎每个 Unix 都已经有dc时,为什么还有人写 an RPN calculator insed?