linux - 在磁盘上找到一堆随机排序的图像并复制到目标目录

标签 linux bash random copy find

出于测试目的,我需要将光盘中的一堆随机图像复制到特定目录。所以,在伪代码中:

find [] -iname "*.jpg"
and then sort -R
and then head -n [number wanted]
and then copy to destination

是否可以将上述命令合并到一个 bash 命令中?比如:

for i in `find ./images/ -iname "*.jpg" | sort -R | head -n243`; do cp "$i" ./target/; done;

但这并不完全有效。我觉得我会在那里的某个地方需要一个“xargs”,但恐怕我不太了解 xargs ......我需要将“print0”(或等效的)传递给所有单独的命令吗?

[编辑]

我省略了最后一步:我想将图像复制到一个新的(连续的)名称下的特定目录。所以第一张图片变成 1.jpg,第二张图片变成 2.jpg 等等。为此,我发布的命令没有按预期工作。

最佳答案

您指定的命令也可以毫无问题地运行。它对我很有用。你能指出你面临的确切错误吗? 同时, 这只会为您解决问题:

find ./images/ -iname "*.jpg" | sort -R | head -n <no. of files> | xargs -I {} cp {} target/

关于linux - 在磁盘上找到一堆随机排序的图像并复制到目标目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24672270/

相关文章:

linux - 嵌入式 linux 的日志记录框架?

linux - 是否可以离线使用 google speech api?

node.js - 如何在适用于 Linux 的 Windows 子系统中下载 nodejs 版本 6.10.3?

php - 在命令运行时从 shell_exec 命令获取输出

python - random.randint 非整数? [Python]

php - 如何使用 PHP 执行 bash 脚本?

linux - 进程smaps中 "Referenced"的含义

Bash:按时间戳对文件中的行进行排序

Java蛇眼程序错误

java - java中生成随机数