クエリがしきい値より多く表示されるファイルのリスト

クエリがしきい値より多く表示されるファイルのリスト

このようなコマンドがあります。

rga --files-with-matches --count-matches --sort path -i -e "use cases?" -e "user stor(y|ies)" -e "Technical debt" -e "Code Quality" -e "software development" -e "Agile Manifesto"

出力は次のとおりです

a1.pdf:18
a2.pdf:10
a3.pdf:14
....

ここに:NUM一致回数があります。

10個以上の一致があるすべてのファイルが必要です(出力を別のコマンドにパイプできるようにコロンと数字はありません)。良い:

a1.pdf
a3.pdf
....

試してみましたが、.. | cut -d':' -f2数字のみが提供されます。.. | cut -d':' -f1ファイル名のみが提供されます。

ここで解決策は何ですか?

ベストアンサー1

これは、ファイル名に文字が含まれている場合にも機能します:。 2つのキャプチャグループを使用します。最初の:グループは行の最後の文字(ファイル名)まで(含まず)すべてをキャプチャし、2番目のグループは最後の文字(数)の後のすべての数字をキャプチャします:。このパターンと一致しない入力行は無視されます。

$ rga ... | perl -n -E 'm/^(.*):(\d+)$/; say $1 if $2 > 10'
a1.pdf
a3.pdf

改行文字を含むファイル名には機能しません。必要に応じてrgaNULで区切られた出力を生成できる場合(たとえば、または同様のオプションを使用-0)、-zこれをPerlのオプションと一緒に使用して、-0NULで区切られた入力を読み取ることができます。

おすすめ記事