如何创建一个循环以查找并让我们使用 select 个文件?

How to create a loop that goes thought find and let's user select files?

到目前为止,我得到了一个循环,它打印了 find 命令的所有路径:

#!/bin/bash

while read -r line ; do
    echo "Processing... $line"
done < <(find /home/$USER -type d \( -name ".*" \) -prune -o -type f -size +10M -user $USER -writable -printf '%s %p[=11=]'  |
        sort -z -n -k1 |
        awk -v RS="[=11=]" '
        {
            file = [=11=]; gsub(/^[^ ]* /, "", file)
            print file
        }')

我需要找到一种方法让这个脚本 向用户显示这些文件并让他 select 和取消 select 它们 并在完成 selection returns 这些路径后脚本将删除这些文件或打包它们。

使用fzf tool。它接受 stdin 并向用户显示行列表,并让他们 select 他们想要什么。当用户提交时,fzf 将使用 stdout 打印 selection。示例:

selection=$(ls | fzf)
echo "user selected: $selection"

使用fzf -m让用户select多行。

或者,使用 vipe tool