You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何直接枚举当前目录下的文件与目录(替代ls | less -N方法)

给ls输出添加有序编号的直接方法

嘿,这个需求挺实用的!不用通过ls | less -N这种绕路的方式,有好几种更直接的命令可以帮你给ls的输出加上整齐的有序编号,刚好匹配你想要的格式。我给你列几个常用方案:

1. 用nl命令(最简洁的专门工具)

nl是Unix/Linux里专门用来给文本加行号的工具,直接结合ls用就行:

ls | nl -w 1 -s '. '

参数解释:

  • -w 1:设置行号的宽度为1位(默认是6位,会有多余空格)
  • -s '. ':指定行号和内容之间的分隔符为. (点加空格),正好符合你要的格式。

2. 用awk(灵活度拉满)

awk处理文本的能力很强,一行命令就能搞定:

ls | awk '{print NR ". " $0}'

这里NR代表当前处理的行号,$0是当前行的全部内容,直接拼接输出就得到了你要的带编号列表。

3. Shell循环(适合需要自定义逻辑的场景)

如果你用的是bash/zsh这类shell,也可以用循环来实现,还能安全处理带空格的文件名:

i=1
ls | while read -r item; do
    echo "$i. $item"
    ((i++))
done

这个方法的好处是你可以在循环里加更多自定义操作,比如过滤某些文件、修改输出格式等。

这些方法都是直接把结果输出到终端,不像less -N需要进入分页界面再退出,完全符合“更直接”的要求~

内容的提问来源于stack exchange,提问作者Wizard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:38:11