0

我正在使用以下行命令读取具有 90289 列的文件并在 90307 行之后开始读取,但我得到的结果仅适用于第 90307n 行的第一行。我还想阅读 90308,90309...等行,但只跳过第一次 90307 行。

awk '{if (FNR==90307) for(i=2;i<=90289;i+=3) print x=$i,  y=$(i+1), z=$(i+2)}'

我需要一个脚本

1. 仅跳过 90307 一次 2. 在第一个 90307 之后的每一行读取 90289 列 3 对所有行重复第 2 行

可能吗?

4

1 回答 1

1

你肯定已经改变==>自己:

awk 'NR>90307{for(i=2;i<=90289;i+=3) print $i, $(i+1), $(i+2) }'

我不确定你为什么要分配给xy或者z?您的实际脚本是否更大并使用这些值?您是否真的想要打印您未提及的 3 个字段的集合。你应该用一个简单的例子和​​预期的输出用一个简洁的描述来编辑你的问题。

于 2013-10-04T16:21:58.547 回答