我使用的是 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
$PWD
find
sort
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'