我有如下的输入格式。
- 第一个字段应该是 9 位数字
- 第二个字段应为 5 位数字
- 第三个字段应为小数点前 5 位
- 第四个文件应该附加,不带逗号(应该删除逗号)。
输入:
100574,1,2.66,SB
574155582,1,2.47,SB
我需要以下格式的输出
0001005740000100002.66SB
5741555820000100002.47SB
我如何编写一个脚本来实现这个功能?
答案1
类似这样的事情应该可以工作 - 您可能需要摆弄 printf 语句的具体值。
cat input | awk 'BEGIN {FS=","}; {printf "%09d", $1; printf "%05d", %2; printf "%05.2f", $3; printf "%s", $4 };'
如果您的问题变得更加复杂,我建议您使用 python 或其他更高级的语言。
如果你遇到困难,请尝试查看https://www.gnu.org/software/gawk/manual/gawk.html