创建具有随机名称的文件夹并将文件移动到其中

时间:2015-12-07 20:04:41

标签: shell terminal

我现在正在与Hazel合作并运行一些基本的shell命令。

当我将图像拖到我选择的文件夹中时,它会创建一个由随机20位唯一字符串命名的文件夹,并将该文件添加到此文件夹中。这很完美。

我遇到的问题是,当我向文件夹中添加多个文件时,我只想创建一个随机字符串文件夹,并将所有拖动的文件添加到该新文件夹中。

目前,对于添加到文件夹的每个图像,都会创建一个新的随机字符串文件夹,并将图像移动到那里。

我的Shell代码如下:

randomstring=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 20 | head -n 1)
mkdir -p $randomstring 
mv $1 $randomstring

非常感谢任何帮助:)

2 个答案:

答案 0 :(得分:0)

  

...我想只创建一个随机字符串文件夹和所有拖动的文件夹   要添加到该新文件夹的文件。

如果您没有其他20个字符的名称文件夹,则可以预先添加测试以检查此类文件夹是否已存在:

randomstring=????????????????????/  # 20 question marks, 1 slash (folders)
set -e                              # exit on error to be on the safe side
[ -d $randomstring ] ||             # do next line unless directory exists
randomstring=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 20 | head -n 1)
mkdir -p $randomstring 
mv $1 $randomstring

答案 1 :(得分:0)

您还可以通过KEV进行关联,并为以下命令的Folder使用随机名称


  

mkdir -p {a,b} / {e,f,g} / {h,i,j}

您可以在上方使用{a..z}来使用''和空格来

例如

  

mkdir -p {a,b} / {e,{a..z}''{a..z},g} / {h,i,j}