我正在尝试这样的东西:
rpm -ql `rpm -qa | grep openssh-5`这将列出使用openssh-5 rpm安装的所有文件。
我希望将所有这些文件复制到一个文件夹:例如: myfolder
所以我试着这样做:
cp ``rpm -ql `rpm -qa | grep openssh-5`` myfolder但它失败了。有没有什么出路,有没有shell脚本呢?
发布于 2012-05-21 15:59:15
你不能嵌套反引号。这应该是可行的:
cp $(rpm -ql $(rpm -qa | grep openssh-5)) myfolder另一种方法是:
rpm -qa | grep openssh-5 | xargs -d $'\n' rpm -ql | xargs -d $'\n' cp -t myfolder(这也处理包含空格的文件名。将不会处理带有新行的文件名...)
发布于 2012-05-21 16:01:30
files=${rpm -ql `rpm -qa | grep openssh-5`};
while read file do
cp $file "myfolder";
done < $files;也许吧?
发布于 2012-05-21 16:23:09
试一试
rpm -qla \*openssh-5\* | while read filename; do
cp -a "$file" "$myfolder"
done。请注意变量周围的"",它考虑了文件名中的空格(诚然,这在RPM包中非常罕见-但并非不可能)。
还要注意rpm -qla结构,它使事情变得更容易。
https://stackoverflow.com/questions/10681402
复制相似问题