假设我在一个商店里有货架,每个货架上有0-9个特定种类的盒子。我想从每个架子上挑选不超过4个盒子,总共15个。在输入文件类似于

AA123 small
AA124 small
AA122 small
BB345 medium
..
..
100s of such

前两个字母定义了架子,数字告诉架子上的箱号。
为了找到独特的架子,我可以用
cat filename | awk '{print $1}' | cut -c 1-2 | sort | uniq | xargs

然后我试图用它作为for/while循环的输入,但是被卡住了。

最佳答案

我认为awk是正确的工具。
以下一行打印前四个货架,总共只有15个:

awk 'a[substr($1,1,2)]++ < 4 {if (t++>14) exit; print}' file

关于regex - 使用命令行,如何获得每种类型的n种可能的结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23978451/

10-11 19:37