<existing > [Required]
Year Month Year_mnth
1942 1 194201
1942 2 194202
1942 3 194203
...
1942 10 194210
1942 11 194211
1942 12 194212
不能添加所需的零以使它们全部 yyyymm
您可以使用
awk
并要求 printf
进行零填充:
$ printf '%.2d\n' 1
01
$ printf '%.2d\n' 10
10
我只是给出提示,所以不是免费的编码服务。
在 printf 格式的 bash 循环中用零填充左侧
$ while read yr mo; do printf "%s%02d\n" "$yr" "$mo"; done < file
194201
194202
194203
194210
194211
194212
你可以
printf
它,或者只是将年份乘以 100 :
mawk '$++NF = 100 * $++_ + $(_+_--)'
1942 1 194201 194201
1942 2 194202 194202
1942 3 194203 194203
...
1942 10 194210 194210
1942 11 194211 194211
1942 12 194212 194212
另一种更蛮力的方法只涉及
substr()
:
nawk '$++NF = $1 substr("0"$2, length($2), 2)'
gawk '$++NF = $1 substr("0", length($2)) $2'
1942 1 194201 194201
1942 2 194202 194202
1942 3 194203 194203
...
1942 10 194210 194210
1942 11 194211 194211
1942 12 194212 194212