gpt4 book ai didi

linux - 如何操作 awk 输出?

转载 作者:IT王子 更新时间:2023-10-29 01:10:26 26 4
gpt4 key购买 nike

如果我输入

echo '"";"";" 01.06.2011";"7";"01.06";"-21,00";"-6.097,73";' | awk -F';' '{print $3 " " $7}'

然后我得到

" 01.06.2011" "-6.097,73"

但我想要的是

" 01.06.2011" "-6097"

应该怎么做?

最佳答案

AWK 支持 printf函数,并从内存中尽可能多地解析字符串作为整数。所以,从你的例子来看:

awk -F';' '{printf("%s %i", $3, $7*1000);}'

会起作用。这也适用于任何尺寸的数字……

(由于数据中的双引号,以上内容无效,请参见下文……)

编辑:如果您使用的是 gawk,则可以使用 printf 的组合稳定地实现此目的和 strtonum .

awk -F';' '{
gsub(/"/, "", $7);
printf("%s\"%i\"\n", $3, strtonum($7)*1000);
}'

gsub() 调用去掉了引号,这样 strtonum 就不会阻塞它们,然后 printf 调用将它们放入作为格式字符串的一部分返回……

关于linux - 如何操作 awk 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9253177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com