gpt4 book ai didi

linux - 从文件中打印一行

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:20:37 25 4
gpt4 key购买 nike

我正在尝试读取如下所示的文件:

90 80 70 60

这是我的代码:

    #!/bin/bash
awk '{for(i=0; i<NF; i++) printf("%d\n",$i)}'

它正在打印 90 90 80 70。为什么它重新打印 90 而不是 60?此外,是否没有 sort -nr 或我可以用来在我让它工作后按数字顺序排列它的东西?

最佳答案

awk 中的字段是从 1 开始的,而不是从 0 开始的。

你需要说:

awk '{for(i=1; i<=NF; i++) printf("%d\n",$i)}'

它打印 90 两次,因为 $0 表示整行,而 printf 格式获取该行的第一个字段并生成 90。稍后对于 i 等于 13,您将获得其他值,即前三个字段。

printf 替换为 print 它将明显:

$ echo "90 80 70 60" | awk '{for(i=0; i<NF; i++) print $i}'
90 80 70 60
90
80
70

关于linux - 从文件中打印一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22341238/

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