给定一个目录,递归获取所有文件的相对路径

给定一个目录,递归获取所有文件的相对路径

我正在构建一个 RPM 规范文件,需要在部分中列出%files要包含的文件(相对于我将指定的构建根目录)。我已经有了需要打包的已组装目录——我只需将其转换为其中包含的所有文件的相对路径列表。

为此,我目前正在使用find,但它返回的是绝对路径。

find $1/codebase -type f ! -name ".*" >> ${BUILD_RPM_DST_DIR}/rpm.spec

我对 unix 有点陌生,所以我很抱歉。

我应该将其通过管道传输到 sed 或 grep 并删除路径的初始部分吗?如何执行此操作的示例将会很有帮助。

答案1

如果您在运行 Find 时向其传递相对规范,它将为您提供相对路径。您传递的我认为$1/codebase是绝对路径。不要使用该命令,而是尝试使用类似命令cd $1/codebase ; find . -type ...

相关内容