列出文件夹和子文件夹中的文件,但文件名与文件位置连接

列出文件夹和子文件夹中的文件,但文件名与文件位置连接

我使用的是 Linux,我想创建一个存储在文件夹和子文件夹中的文件列表,其中文件名及其绝对位置连接为一个字符串,例如 ( /A/B/C/file.ext) 的一些修改:

ls -lR $PWD/* | awk '{printf(" %s/%s\n", ENVIRON["PWD"], $9); }'

生成输出,其中 PWD“当前位置”替换为文件绝对路径。

答案1

只需使用查找即可。

find $(pwd) -type f -not -path '*/\.*'

这列出了 cwd 中的所有文件及其完整路径

答案2

zsh

print -rC1 ~0/**/*(ND)

会在 olumnprint r上按词法排序(与 相同)1 C中所有非隐藏文件的路径。您可以使用 GNU 执行相同的操作:~0$PWDfindsort

LC_ALL=C find "$PWD" -mindepth 1 -name '.*' -prune -o -print0 |
  sort -z |
  tr '\0' '\n'

然而,这假设 的基本名称$PWD不以 开头.

在 FreeBSD 上,您可以执行以下操作:

find "$PWD" -depth +0 '(' -name '.*' -prune -o -print0 ')' |
  sort -z |
  tr '\0' '\n'

相关内容