Linux AWK adding if语句将0添加到数字范围0到9(需要使用AWK)
您好,我需要使用awk格式化日期命令输出,并在从1到9开始的日期之前添加零Linux AWK adding if语句将0添加到数字范围0到9(需要使用AWK),linux,bash,if-statement,awk,Linux,Bash,If Statement,Awk,您好,我需要使用awk格式化日期命令输出,并在从1到9开始的日期之前添加零 today=`date | awk {'print $1 " " $2 " " $3'}` 因此,在上面的例子中,输出是 Wed Mar 2 我需要将0添加到2,以获得月份1到9的天数 Wed Mar 02 我可以使用awk命令添加此命令吗 for i in 0{1..9}; do echo $i; done 所以当它在1或9之间时,我需要将0/0添加到3美元 我试着这样做,但有些东西不起作用,我得到了错
today=`date | awk {'print $1 " " $2 " " $3'}`
因此,在上面的例子中,输出是
Wed Mar 2
我需要将0添加到2,以获得月份1到9的天数
Wed Mar 02
我可以使用awk命令添加此命令吗
for i in 0{1..9}; do echo $i; done
所以当它在1或9之间时,我需要将0/0添加到3美元
我试着这样做,但有些东西不起作用,我得到了错误
a3=`date|awk '{
if ($3 <=9)
print $1" "$2" " "0"$3;
else
print $1" "$2" " $3;
}'`
echo $a3
a3=`date | awk'{
如果($3如果我是你,我会直接指定一种格式:
$ date '+%a %b %d'
Wed Mar 02
将前面带有+
的格式字符串作为其最终参数。如果我是您,我会直接指定格式:
$ date '+%a %b %d'
Wed Mar 02
将前面带有+
的格式字符串作为其最终参数。如果必须在awk
中执行此操作,则可以使用printf进行格式化打印
$ echo 1 2 10 20 | awk -v RS=" " '{printf "%s\t-> %02d\n",$1,$1}'
1 -> 01
2 -> 02
10 -> 10
20 -> 20
如果必须在awk
中执行此操作,则可以使用printf进行格式化打印
$ echo 1 2 10 20 | awk -v RS=" " '{printf "%s\t-> %02d\n",$1,$1}'
1 -> 01
2 -> 02
10 -> 10
20 -> 20
在awk
手册页中查找printf
。请编辑您的代码,通过不引用shell变量告诉我们您试图获得的具体行为,以便我们可以帮助您以更稳健的方式获得相同的效果。您的问题看起来非常像XY问题()。在awk
手册页中查找printf
。请编辑您的代码,告诉我们您试图通过不引用shell变量获得的具体行为,以便我们可以帮助您以更稳健的方式获得相同的效果。您的问题看起来非常像XY问题()。我迟到了1分钟:Dthx Tom-我知道我需要执行的这个命令这是一个awk声明。我被这个要求弄糊涂了。你能编辑你的问题,让它更清楚你想做什么吗?公平地说,我更新了这个问题-我希望它更有意义。你已经展示了你是如何使用awk
,而不是为什么此时需要awk
全部。我迟到了1分钟:Dthx Tom-我知道我需要执行的命令这是一个awk声明。我被这个要求弄糊涂了。你能编辑你的问题,让它更清楚你想做什么吗?公平地说,我更新了这个问题-我希望它更有意义你已经展示了如何使用awk
,而不是为什么awk
是必要的完全