如何防止 awk 对数组进行排序?
How to prevent awk from sorting the array?
我正在尝试从 data
文本文件中提取这些行:
first
second
third
fourth
fifth
sixth
基于预先保存在 nums
文本文件中的行号:
2
6
3
我最终得到了以下 awk 解决方案,但它给了我根据行号而不是根据 nums
文件中的顺序排序的行。
$ awk 'NR==FNR{lines[[=12=]];next } FNR in lines' nums data
second
third
sixth
但是我想要实现的是下面的输出:
second
sixth
third
那么,是否有 awk
到 prevent/disable 对数组进行排序的选项?
以相反的方式处理文件:
awk 'NR == FNR { line[NR] = [=10=]; next } { print line[] }' data nums
我正在尝试从 data
文本文件中提取这些行:
first
second
third
fourth
fifth
sixth
基于预先保存在 nums
文本文件中的行号:
2
6
3
我最终得到了以下 awk 解决方案,但它给了我根据行号而不是根据 nums
文件中的顺序排序的行。
$ awk 'NR==FNR{lines[[=12=]];next } FNR in lines' nums data
second
third
sixth
但是我想要实现的是下面的输出:
second
sixth
third
那么,是否有 awk
到 prevent/disable 对数组进行排序的选项?
以相反的方式处理文件:
awk 'NR == FNR { line[NR] = [=10=]; next } { print line[] }' data nums