Linux:创建随机目录/文件层次结构

为了测试工具,我需要一个目录,其中包含一堆深嵌套结构的不同Office文件。我已经在目录中保存了文件,但是现在需要创建一些随机嵌套的子目录并在其中分散文件。

我可以坐下来用自己选择的编程语言编写一个合适的程序,但是我想知道是否可能有Linux命令行工具+ Bash的巧妙组合来实现我想要的。

编辑:澄清一下,我的输入是一个包含大约200个文件的目录。输出应该是包含这些文件或多或少均匀分布的目录层次结构。目录名称不应超过单个字母,长度应随机变化,并使用各种允许的字符(utf-8文件系统)。

回答:

我对给出的答案不太满意,所以我想出了自己的答案。以下内容将获取我的输入文件,并使用/ dev /

urandom收集10至256个可打印字符,放入更多目录分隔符,创建目录层次结构并将文件放置在其中。

使用urandom会创建一些确实很奇怪的目录名,这对我来说很有用。我相信真正的Unix专家可以进一步简化这一过程。例如,dir构建可能可以在单个awk命令中完成。

#!/bin/bash

INDIR='files';

IFS=$'\n'

for FILE in `ls $INDIR/*`; do

DIR=`cat /dev/urandom | \

tr -dc '[ -~]' | \

tr 'ABCDEF\\\\' '///////' | \

head -c$((10 + $RANDOM % 256))`

mkdir -p $DIR

cp $FILE $DIR

done

以上是 Linux:创建随机目录/文件层次结构 的全部内容, 来源链接: utcz.com/qa/415971.html

回到顶部