如何创建一个循环来查找并让用户选择文件?

lx0bsm1f  于 2022-10-23  发布在  Linux
关注(0)|答案(1)|浏览(191)

到目前为止,我得到了一个循环,它打印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\0'  |
        sort -z -n -k1 |
        awk -v RS="\0" '
        {
            file = $0; gsub(/^[^ ]* /, "", file)
            print file
        }')

我需要找到一种方式,这个脚本显示这些文件给用户,让他选择和取消选择它们,并在完成选择后返回这些路径到脚本,将删除这些文件或压缩它们。

bvuwiixz

bvuwiixz1#

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

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

使用fzf -m让用户选择多行。
或者,使用vipe tool

相关问题