如何在 Nushell 中过滤分组依据的值列中的行数?

sga*_*arg 4 elasticsearch nushell

我想做 SQL 中 HAVING 子句的等效操作。现实生活中的描述是我正在尝试查找指向两个(或更多)索引及其索引名称的 Elasticsearch 别名。数据看起来像这样

\n

我首先执行group by,然后对它们进行透视以获取行,其中第一列是组键,第二列是包含 n 行的表。获取该表的命令是open file.txt | lines | split-column " " --collapse-empty Alias Index | group by Alias | pivot

\n
 \xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n # \xe2\x94\x82 Column0       \xe2\x94\x82 Column1\n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n 0 \xe2\x94\x82 abcd_20200430 \xe2\x94\x82 [table 1 rows]\n 1 \xe2\x94\x82 abcd_20200501 \xe2\x94\x82 [table 3 rows]\n 2 \xe2\x94\x82 abcd_20200502 \xe2\x94\x82 [table 2 rows]\n 3 \xe2\x94\x82 abcd_20200503 \xe2\x94\x82 [table 1 rows]\n 4 \xe2\x94\x82 abcd_20200504 \xe2\x94\x82 [table 1 rows]\n
Run Code Online (Sandbox Code Playgroud)\n

我想按 Column1 具有超过 1 行的行来过滤此表。我该怎么做呢?

\n

| where Column1.count > 1不起作用

\n

小智 5

您可以尝试添加另一列及其大小作为解决方法。像这样的东西:

open file.txt | lines | split-column " " --collapse-empty Alias Index | group by Alias | pivot | default size 0 | update size { get Column1 | count }
Run Code Online (Sandbox Code Playgroud)