gpt4 book ai didi

arrays - 使用 AWK 选择输入记录字段

转载 作者:行者123 更新时间:2023-12-03 18:32:03 26 4
gpt4 key购买 nike

假设我们有一个 shell 变量 $x 包含一个空格分隔的数字列表,从 1 到 30:

$ x=$(for i in {1..30}; do echo -n "$i "; done)
$ echo $x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
我们可以像这样用 AWK 打印前三个输入记录字段:
$ echo $x | awk '{print $1 " " $2 " " $3}'
1 2 3
我们如何使用 AWK 打印从第 N 个字段开始的所有字段?例如。
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
编辑:我可以使用cut,sed等来做同样的事情,但是在这种情况下,我想知道如何使用AWK做到这一点。

最佳答案

将我的评论转换为答案,以便将来的访问者轻松找到解决方案。
你可以使用这个 awk :

awk '{for (i=3; i<=NF; ++i) printf "%s", $i (i<NF?OFS:ORS)}' file
或将开始位置作为参数传递:
awk -v n=3 '{for (i=n; i<=NF; ++i) printf "%s", $i (i<NF?OFS:ORS)}' file

关于arrays - 使用 AWK 选择输入记录字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65593224/

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