当前位置: 首页 > 面试题库 >

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

雍焱
2023-03-14
问题内容

为了测试工具,我需要一个目录,其中包含一堆深嵌套结构的不同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


 类似资料:
  • 前言 这一篇,我们将接着上篇来完成创建项目文件、目录结构。 回顾 先回顾一下现在项目有哪些东西了: . ├── app │   ├── app.vue │   ├── common │   │   ├── img │   │   ├── js │   │   └── scss │   ├── index.html │   ├── index.js │   ├── router

  • 通过学习《 Linux一切皆文件》一节我们知道,平时打交道的都是文件,那么,应该如何找到它们呢?很简单,在 Linux 操作系统中,所有的文件和目录都被组织成以一个根节点“/”开始的倒置的树状结构,如图 1 所示。 图 1 Linux 系统文件和目录组织示意图 其中,目录就相当于 Windows 中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录,而文件中存储的是真正的信息。 文件系统的最

  • 问题内容: 我需要使用以下命令创建一个zip文件: 这可行,但是创建的zip文件会创建一个目录结构,将目录模仿为原始文件。我不需要很多额外的文件夹。 粗略浏览手册页或Google搜索时,我没有找到答案。 问题答案: 您可以使用。

  • 我正在尝试用gradle创建一个dist-zip。我想在zip的根目录中找到我的jar。并在lib文件夹中查找所有依赖项。我没有成功。 无论我尝试了什么,只有一个文件夹正在创建(我尝试创建一些文件夹)。我的神器罐子包含在这个文件夹中。 我将感谢任何帮助。 这是我的任务定义:

  • 主要内容:Linux 根目录(/),Linux /usr目录,Linux /var 目录学习 Linux,不仅限于学习各种命令,了解整个 Linux 文件系统的目录结构以及各个目录的功能同样至关重要。 使用 Linux 时,通过命令行输入 可以看到,在 Linux 根目录(/)下包含很多的子目录(称为 一级目录),例如 bin、boot、dev 等。同时,各一级目录下还含有很多子目录(称为 二级目录),比如 /bin/bash、/bin/ed 等。Linux 文件系统目录总体呈现树形

  • 问题内容: 我正在尝试建立一个用户可以提交照片的网站,然后在另一个页面上一个一个地随机查看其他照片。我有一个名为“上传”的目录,其中提交了图片。我无法从文件中读取图片。我只想从目录上传中随机选择一张图片,并将其显示在页面上。任何建议表示赞赏。 问题答案: 您可以使用glob获取目录中的所有文件,然后从该数组中获取随机元素。这样的函数将为您完成此任务: