部分的にフィルタリングされたfzf結果をファイルにダンプできますか?

部分的にフィルタリングされたfzf結果をファイルにダンプできますか?

すべてのテキスト行を適切にフィルタリングするには、fzf が必要なことがよくあります。リストをスクロールできます。そのうちの1つだけを選択できます(または個別に表示してさらに選択することもできます)。ただし、awkやその他のコマンドを使用して、さらに処理するためにすべて(ファイルにダンプするかパイプで接続する)が必要です。可能ですか?

答え1

--multi複数を選択するには、オプションを確認してください。たとえば、次のようになります。

fzf --multi --print0 --bind 'enter:select-all+accept' |
  gawk -v RS='\0' '{something with $0}; END{print NR}'

Select EnterAllとAcceptを押して、NULで区切られた出力をgawkに送信します。

accept入力の代わりに出力を選択またはexecute(the awk command with {+f})選択することもでき、各呼び出しで複数の選択を実行できます。previewawkfzf

例えば、

fzf --multi --print0 --bind 'enter:select-all+preview(
  awk -v RS="\0" "END{print NR}" {+f})'

押すたびに、プレビューウィンドウにフィルタリングされたファイルの数が印刷されますEnter

関連情報