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