gpt4 book ai didi

awk - 在AWK中,是否可以指定 "ranges"字段?

转载 作者:行者123 更新时间:2023-12-03 07:48:12 25 4
gpt4 key购买 nike

在 AWK 中,是否可以指定字段的“范围”?

示例。给定一个制表符分隔的文件“foo”,每行有 100 个字段,我想为每行仅打印字段 32 到 57,并将结果保存在文件“bar”中。我现在做什么:

awk 'BEGIN{OFS="\t"}{print $32, $33, $34, $35, $36, $37, $38, $39, $40, $41, $42, $43, $44, $45, $46, $47, $48, $49, $50, $51, $52, $53, $54, $55, $56, $57}' foo > bar

这样做的问题是打字很乏味并且容易出错。

是否有某种语法形式可以让我以更简洁且不易出错的方式表达相同的内容(例如“$32..$57”)?

最佳答案

除了awk answer作者:@Jerry,还有其他选择:

使用cut(默认使用制表符分隔符):

cut -f32-58 foo >bar

使用perl:

perl -nle '@a=split;print join "\t", @a[31..57]' foo >bar

关于awk - 在AWK中,是否可以指定 "ranges"字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13391400/

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