我正在编写一个将文件路径作为输入的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