我正在构建一个 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 ...
。