使nl从指定行枚举

时间:2018-10-24 11:43:09

标签: bash

我打算枚举文件和目录

openid profile 
offline_access 
User.Read Mail.ReadWrite 
Mail.Send 
Calendars.ReadWrite 
Contacts.Read

从1开始,我希望是0。

如何使[root@iz2ze9wve43n2nyuvmsfx5z /]# ls -lh |nl 1 total 60K 2 lrwxrwxrwx 1 root root 7 Jun 15 22:08 bin -> usr/bin 3 dr-xr-xr-x. 5 root root 4.0K Jun 15 22:10 boot 4 drwxr-xr-x 19 root root 2.9K Sep 17 11:35 dev 5 drwxr-xr-x. 85 root root 4.0K Sep 18 22:44 etc 6 drwxr-xr-x. 2 root root 4.0K Sep 17 08:25 home 7 lrwxrwxrwx 1 root root 7 Jun 15 22:08 lib -> usr/lib 8 lrwxrwxrwx 1 root root 9 Jun 15 22:08 lib64 -> usr/lib64 9 drwx------. 2 root root 16K Oct 15 2017 lost+found 10 drwxr-xr-x. 2 root root 4.0K Apr 11 2018 media 11 drwxr-xr-x. 2 root root 4.0K Apr 11 2018 mnt 12 drwxr-xr-x. 2 root root 4.0K Apr 11 2018 opt 13 dr-xr-xr-x 86 root root 0 Sep 17 11:35 proc 14 drwxrwxrwx. 21 root root 4.0K Oct 22 08:11 root 15 drwxr-xr-x 24 root root 660 Oct 24 19:10 run 16 lrwxrwxrwx 1 root root 8 Jun 15 22:08 sbin -> usr/sbin 17 drwxr-xr-x. 2 root root 4.0K Apr 11 2018 srv 18 dr-xr-xr-x 13 root root 0 Oct 21 19:50 sys 19 drwxrwxrwt. 11 root root 4.0K Oct 24 05:19 tmp 20 drwxr-xr-x. 13 root root 4.0K Jun 15 22:08 usr 21 drwxr-xr-x. 19 root root 4.0K Jun 15 22:08 var 从指定的行中枚举。

2 个答案:

答案 0 :(得分:3)

您只需要使用-v选项,并指定从0开始;您的指令将变为:

ls -lh |nl -v 0

答案 1 :(得分:2)

让我们看看nl --help

$ nl --help
Usage: nl [OPTION]... [FILE]...
Write each FILE to standard output, with line numbers added.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
...
  -v, --starting-line-number=NUMBER  first line number for each section

因此:

$ nl -v0 <<EOF
> a
> b
> EOF
     0  a
     1  b

请注意,您是否要枚举目录还是其他内容都没有关系,这就是为什么您可能应该从问题中删除这一部分以使其更加具体。