首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为输出添加行号,提示输入行,然后根据输入操作?

如何为输出添加行号,提示输入行,然后根据输入操作?
EN

Stack Overflow用户
提问于 2012-02-25 19:46:58
回答 5查看 45.3K关注 0票数 64

我写了一个shell脚本,像这样:

代码语言:javascript
复制
#! /bin/sh
...
ls | grep "android"
...

输出结果为:

代码语言:javascript
复制
android1 
android2
xx_android
...

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

代码语言:javascript
复制
    1 android1 
    2 android2
    3 XX_android
    ...
    please choose your dir number:

然后等待用户输入行号x,脚本读回行号,然后处理相应的dir。我们如何在shell中做到这一点呢?谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-25 20:10:19

您可以使用内置命令select来代替实现交互。

代码语言:javascript
复制
select d in $(find . -type d -name '*android*'); do
    if [ -n "$d" ]; then
        # put your command here
        echo "$d selected"
    fi
done
票数 13
EN

Stack Overflow用户

发布于 2012-12-06 23:01:05

nl打印行号:

代码语言:javascript
复制
ls | grep android | nl
票数 216
EN

Stack Overflow用户

发布于 2012-02-25 19:50:31

如果将结果通过管道传输到cat,则可以使用-n选项对每一行进行编号,如下所示:

代码语言:javascript
复制
ls | grep "android" | cat -n
票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9443694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档