我想用序列号列出主目录中的所有子目录。
示例:
如果目录A包含B,C,D和E作为子目录,则输出应该类似于
1 B
2 C
3 D
4 E
答案 0 :(得分:0)
您可以使用循环:
$((++i))
模式匹配A中的所有目录。$i
为每个找到的目录将变量{{1}}递增1。
答案 1 :(得分:0)
这取决于您想要对数字做什么。如果您计划进一步/稍后使用它,并且任何人都可以在查看列表和使用该号码之间制作或删除目录,那么您将遇到麻烦。
如果是这种情况,您可以使用这样的目录的inode编号,因为它们在整个文件系统中是常量且唯一的:
ls -di */
19866918 f/ 19803132 other/ 19705681 save/
在Mac上,您也可以
stat -f '%i %N' */
19866918 f/
19803132 other/
19705681 save/
我认为Linux等价物是
stat -c '%i %N' */
答案 2 :(得分:0)
使用它:
find * -type d | nl
find * -type d
:打印当前路径中所有目录的名称
nl
:在输出中添加行号
答案 3 :(得分:0)
ls | nl; 其中ls用于列出目录文件,nl用于编号行