我正在尝试编写一个格式为“id file_absolute_path”的文件,它基本上会递归列出文件夹中的所有文件,并为每个列出的文件分配一个标识符,例如1、2、3、4。
我可以使用以下命令递归获取文件的绝对路径:
我可以使用以下命令递归获取文件的绝对路径:
ls -d -1 $PWD/**/*/*
然而,我无法从ls命令的输出中获得标识符。我确信可以使用awk解决此问题,但似乎无法解决。
ls -d -1 $PWD/**/*/*
然而,我无法从ls命令的输出中获得标识符。我确信可以使用awk解决此问题,但似乎无法解决。
通过cat -n
将输出连接起来。
x
是您的命令:x | awk '{print NR, $0}'
将输出行编号
两个可能的命令:
ls -d -1 $PWD/**/*/* | cat -n
ls -d -1 $PWD/**/*/* | nl
nl将数字放入文件行中。
我希望这样更加清晰易懂。
有一个名为nl的工具可用于此。
ls -la | nl
ls -i
,您将获得inode号码,这很适合作为标识符。ls -d -1 $PWD/**// | awk ' {x = x + 1} {print x " " $0} '
列出当前目录下所有子目录,并在每个子目录前加上序号。