我写了这样一个shell脚本:

#! /bin/sh
...
ls | grep "android"
...

结果是:

android1 
android2
xx_android
...

我想在每个文件中添加一个数字,如下所示:

    1 android1 
    2 android2
    3 XX_android
    ...
    please choose your dir number:

然后等待用户输入行号x,脚本读取行号,然后处理相应的目录.我们如何在shell中实现这一点?谢谢

推荐答案

您可以使用内置命令select,而不是实现交互.

select d in $(find . -type d -name '*android*'); do
    if [ -n "$d" ]; then
        # put your command here
        echo "$d selected"
    fi
done

Linux相关问答推荐

如何在带模式的文件频繁更改的管道中使用grep-f带模式的文件?

使用ms宏将PIC图像放置在页面的任意位置

在 bash 中使用 tee 时如何返回错误代码

如何修复 script(1) 实用程序输出的换行符?

如何使用 Golang 清除终端中的最后一行

如何删除文件中不需要的字符(使用 shell 脚本)

Linux 系统调用文档

Bash 更新 yaml 文件中的图像值

普通用户 chown(仅更改组)

如何计算制表符分隔的文本文件中字段的唯一值的数量?

如何使用该位置的相对路径在单个位置创建多个文件夹?

如何在 shell 脚本中动态生成新的变量名?

如何获取 CPU 使用率

如何删除 Mercurial 存储库

并行运行 shell 脚本

如何显示正在运行的进程列表 Python?

如何仅打印 hexdump 中的十六进制值,而不打印行号或 ASCII 表?

Linux控制台中的模糊文件搜索

带有日期和时间的 Linux 命令历史记录

如何通过命令行识别特定的 Linux 风格?