如何通过单条命令在RPM包中查找指定文件并完成复制?
解决RPM包文件查找并复制的问题
你的命令报错核心原因是**grep没有-exec参数**,你把grep和find的语法搞混了,导致所有后续参数都被当成grep的查找目标文件,自然会出现一堆找不到文件的错误。另外注意你拼写错了文件名里的单词:specifc应该是specific,这个错误也会导致找不到目标文件。
下面是两种可行的单条命令方案:
方案1:用xargs传递文件名
yum repoquery -l rpm_package | grep "specific/file.txt" | xargs -I {} cp {} /tmp
xargs -I {}会把前面管道输出的每一行内容替换成{},再传递给cp命令执行复制。
方案2:用bash循环遍历
for file in $(yum repoquery -l rpm_package | grep "specific/file.txt"); do cp "$file" /tmp; done
- 先通过
yum repoquery+grep拿到目标文件路径,再用循环逐个复制到/tmp。
内容的提问来源于stack exchange,提问作者Coding Monkey
相关产品推荐
相关产品推荐

