我正在编写一个以文件路径为输入的shell脚本.
因此,我需要生成具有完整路径的递归文件列表.例如,文件bar
具有以下路径:
/home/ken/foo/bar
但是,据我所知,ls
和find
只给出了相对路径列表:
./foo/bar (from the folder ken)
这似乎是一个明显的要求,但我在find
或ls
手册页中看不到任何内容.
如何在shell中生成文件列表,包括它们的绝对路径?
我正在编写一个以文件路径为输入的shell脚本.
因此,我需要生成具有完整路径的递归文件列表.例如,文件bar
具有以下路径:
/home/ken/foo/bar
但是,据我所知,ls
和find
只给出了相对路径列表:
./foo/bar (from the folder ken)
这似乎是一个明显的要求,但我在find
或ls
手册页中看不到任何内容.
如何在shell中生成文件列表,包括它们的绝对路径?
如果你给find
一个绝对路径开始,它会打印绝对路径.例如,找到所有.htaccess当前目录中的文件:
find "$(pwd)" -name .htaccess
或者,如果您的shell将$PWD
扩展到当前目录:
find "$PWD" -name .htaccess
find
只是将给定的路径前置到该路径中文件的相对路径.
Greg Hewgill还建议,如果您想解析当前目录中的符号链接,请使用pwd -P
.