是否可以将部分过滤的 fzf 结果转储到文件中?

是否可以将部分过滤的 fzf 结果转储到文件中?

我经常需要 fzf 已适当过滤的所有文本行。它允许我滚动浏览列表。我只能选择其中之一(或通过单独标记来选择更多)。但我希望它们全部(转储到文件中或通过管道传输)以便使用 awk 和其他命令进行进一步处理。这可能吗?

答案1

查看--multi选项即可选择多个。例如,与:

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

按选择Enter全部并接受,将 NUL 分隔的输出发送到 gawk。

accept您还可以选择execute(the awk command with {+f})或什至选择preview输出,而不是输入,awk这样您就可以在每次调用时执行多个选择fzf

例如,

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

每次按 都会在预览窗口中打印过滤后的文件数Enter

相关内容