微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从文本列表复制文件

我有一个文本格式的示例名称列表,例如

Sample1 Sample2 etc....

我试图find并复制这些名称一个具体的扩展使用下面的一个class轮的文件

find ./ | egrep fq.gz | fgrep -f list.txt | perl -ne 'chomp; system "cp $_ /data/copy_of_files/"'

没有错误被抛出,但没有被复制。

这条线的工作,直到我通过输出到Perl(正确的文件列表从fgrep打印的terminal),所以我认为我的问题是与Perl的部分…

Java SSO窗口AD spring4 – 协商标题无效:

Haskell平台安装失败

从Java date.getHour()开始,Linux和Windows之间的小时差异

Linux中的do_div()在32位和64位体系结构中工作吗?

什么是vmsplice(2)的语义,有没有赠送?

有什么build议么?

为什么virtualenv虚拟化任意目录?

如何在awk模式search中包含“”

vfs_stat()调用有什么问题?

使用wmcrtl循环同一应用程序的窗口

使用yum安装特定版本的gcc

你原来的命令和这个命令都适合我:

find . -name '*.gz' | fgrep -f list.txt | perl -ne 'chomp; system("cp $_ <DIR>");'

您是否已验证您的用户或组是否具有对/data/copy_of_files写入权限?

建议:

不要在这里使用Perl,而是创建一个只是吐出cp命令的管道。 只要你满意你所看到的,append | sh -x | sh -x 。

要确保没有任何文件名包含空白或其他特殊的字符到shell中。 如果有一些,但只有一点点(例如,只有空格),你可以通过在cp命令中适当的引用来获得,但是如果文件名中有任何可能的话,将需要不同的方法,并且我可能将整个事物写入Perl使用File::Find::Rule 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐