sed - 如何使用 sed 在数字前添加零?

标签 sed awk

我想使用 sed 或 awk 在一行格式化文本的中间添加一个零。

输入文件示例

line 1

line 2

line 3

预期输出

line 01

line 02

line 03

最佳答案

您的问题有些含糊不清,但是使用 printf 怎么样?与 awk用零填充第二个字段:

$ awk 'NF==2 { printf "%s %02d\n", $1, $2}' file
line 01
line 02
line 03
line 10
line 100

$ awk 'NF==2 { printf "%s %04d\n", $1, $2}' file
line 0001
line 0002
line 0003
line 0010
line 0100

如果您不想删除空行,请执行 awk 'NF==2 { printf "%s %04d\n", $1, $2} NF!=2' file .

关于sed - 如何使用 sed 在数字前添加零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14174218/

相关文章:

linux - 带有变量的 tcl sed

bash - 将 csv 文件中的第一列从时间戳转换为年月格式

awk - groupby/sum 第一列中的所有列相同的awk

scripting - awk 不打印换行符

linux - 在 linux 下搜索和替换?

linux - 在 Linux 中用文本(文件)中的\n\n 替换\n

bash - 将 sed 反向引用传递给 base64 命令

linux - 使用 awk 重定向命令输出

bash - 文件操作循环

awk - 需要在 solaris 命令中重新排列和求和列