如何在unix中对ls输出进行编号?

Sne*_*hal 4 unix awk

我正在尝试编写一个格式为"id file_absolute_path"的文件,它基本上在文件夹中递归列出所有文件,并为每个列出的文件提供一个标识符,如1,2,3,4.

我可以使用以下命令递归地获取文件的绝对路径:

ls -d -1 $PWD/**/*/*
Run Code Online (Sandbox Code Playgroud)

但是,我无法从ls命令的输出中提供标识符.我确信这可以使用awk完成,但似乎无法解决它.

Mat*_*ery 16

管道输出通过cat -n.


vir*_*tor 7

假设x是你的命令:

x | awk '{print NR, $0}'
Run Code Online (Sandbox Code Playgroud)

将编号输出行


Seb*_*ian 6

有一个名为 nl 的工具可以实现这一点。

ls -la | NL


小智 5

两个有效的命令:

ls -d -1 $PWD/**/*/* | cat -n
ls -d -1 $PWD/**/*/* | nl
Run Code Online (Sandbox Code Playgroud)

nl将数字放到文件行.

我希望这也澄清了.