【发布时间】:2018-07-26 15:26:27
【问题描述】:
我正在尝试从一个目录中随机选择 50 个文件(.nexus 文件)并将它们复制到一个单独的目标目录中。
我在一个问题页面上找到了以下脚本,该脚本涉及一个类似主题,随机选择 8 个项目:
shuf -zn8 -e *.jpg | xargs -0 cp -vt 目标/
shuf 打乱当前目录中的 *.jpg 文件列表。 -z 是以零结尾的每一行,以便正确处理带有特殊字符的文件。 -n8 在 8 个文件后退出 shuf。 xargs -0 读取由空字符分隔的输入(来自 shuf -z)并运行 cp。 -v 是详细打印每个副本。 -t 是指定目标目录。
在终端中输入时,我发现 -t 不是 MacOS 的有效命令。但是,删除它后,我似乎仍然无法让脚本正常工作。输入下面脚本的输出是:
用法:cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] 源文件目标文件 cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] 源文件...目标目录
我一直在使用的代码如下。我使用 gshuf 而不是 shuf,长文件路径是我要复制到的文件的目标目录。
我对编码等方面还很陌生,所以任何建议都将不胜感激!谢谢!
gshuf -zn50 -e *.nexus | xargs -0 cp -v ~/Users/brandon/Dropbox/Macbook/CH2_macrops_UCE_project/taxon-sets/all_outgroups3/macrops_randomly_sampled_50_A
【问题讨论】:
标签: macos shell terminal bioinformatics