gpt4 book ai didi

linux - awk 编程整数格式为 01 而不是 1

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:15 25 4
gpt4 key购买 nike

要将输出从 2012 1 5 更改为 20120105,从

更改是否足够
ls $run |xargs sed q |awk '{print $1,$2,$3} ' >> stin-2

ls $run |xargs sed q |awk '{printf "%2.2i" $1,$2,$3} ' >> stin-2

最佳答案

如果您使用 printf()(这可能是获得您想要的输出的正确方法),您应该使用与参数一样多的转换说明符,就像在 C 中一样。

awk '{printf "%.4d%.2d%.2d\n", $1, $2, $3}'

注意格式后面的逗号;这是至关重要的。示例代码省略了这一点,因此它连接了给定的格式字符串和 $1 作为格式字符串,然后给它两个参数。您可能也需要换行符,printf() 不会自动添加(与 print 不同)。选择 %d 而不是 %i 是任意的;他们是一样的。 %.2d 的使用并非完全随意;它实现了与 %2.2d 相同的效果,但使用更少的字符来完成这项工作。

这个答案并不试图解决你正在尝试做的事情在更大范围内是否明智;它只是展示了假设需要完成它可以/应该如何完成。还假设 2012 11 25 的字段之间有一个空格。

关于linux - awk 编程整数格式为 01 而不是 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11919968/

25 4 0
文章推荐: html - 一个或多个
文章推荐: Java,映射 JSON 的键
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com