假设我在商店里有货架,每个货架有 0-9 个特定种类的盒子。我想从每个货架上选择不超过 4 个盒子,直到我总共有 15 个。如何编写命令行代码,其中输入文件类似于
AA123 small
AA124 small
AA122 small
BB345 medium
..
..
100s of such
前 2 个字母定义货架,数字表示货架上的箱子编号。
为了找到独特的货架,我可以使用
cat filename | awk '{print $1}' | cut -c 1-2 | sort | uniq | xargs
然后我试图将其用作 for/while 循环的输入但卡住了。
最佳答案
我认为 awk
是正确的工具。
下面的一行打印了 shelf 的前四次出现,总共只有 15 次:
awk 'a[substr($1,1,2)]++ < 4 {if (t++>14) exit; print}' file
关于regex - 使用命令行,我如何得到每种类型的 n 个可能结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23978451/