我有一个文件系统和一个特殊文件 foo.我希望脚本多次(5,10 或 100)选择此文件系统中文件夹的随机路径,并将文件 foo 复制到每个文件夹中。
我有一个想法,但还不足以将其制作成真正的脚本,并且不知道从表演的角度来看这个想法是否有意义。
idea in pseudo-script:
read into variable n how many random paths should be found
file / -type d > file # put all existing directory paths into a file
repeat n-times{
choose_random_line<file | xargsintosecondargument cp foo
/* chose a random line from file and use it as second argument of copy
command, first is foo. */
}
答案1
在 GNU 系统上:
find / -type d -print0 | shuf -zn5 | xargs -r0n1 cp foo
(现在将文件复制到 /sys 或 /proc 之类的目录是没有意义的,甚至是不可能的,您可能只想添加-xdev
到安装在的文件系统上的选定目录/
)。
您可以通过以下方式使其与 FreeBSD 和 GNU 兼容:
find / -type d -print0 | sort -zR | tr '\0\n' '\n\0' | head -n5 |
tr '\0\n' '\n\0' | xargs -r0n1 cp foo