# Directory Split

**URL:** <https://community.unix.com/t/directory-split/296033>\
**Category:** UNIX for Dummies Questions & Answers\
**Created:** [September 25, 2011, 9:19pm UTC](https://community.unix.com/t/directory-split/296033 "2011-09-25T21:19:01Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![galford](https://community.unix.com/letter_avatar/galford/32/6_449c533f586939b6e5f246632a46421f.png) [@galford](https://community.unix.com/u/galford)\
**Post date:** [September 25, 2011, 9:19pm UTC](https://community.unix.com/t/directory-split/296033/1 "2011-09-25T21:19:01Z")

</div>

Hello again [unix.com](http://unix.com).

How can I split a directory in 100 other ones. I have the directory "[example.com](http://example.com)" and I want to make 100 like it with names [1.example.com](http://1.example.com), [2.example.com](http://2.example.com), [3.example.com](http://3.example.com) ... to [100.example.com](http://100.example.com).

Thanks.

---

<div class="post-metadata">

**Author:** ![dnam9917](https://community.unix.com/letter_avatar/dnam9917/32/6_449c533f586939b6e5f246632a46421f.png) [@dnam9917](https://community.unix.com/u/dnam9917)\
**Post date:** [September 25, 2011, 10:11pm UTC](https://community.unix.com/t/directory-split/296033/2 "2011-09-25T22:11:57Z")

</div>

i=1  
while [$i -le 100]  
do  
mkdir $[i.example.com](http://i.example.com)  
i=`expr $i + 1`  
echo " created $[i.example.com](http://i.example.com) directory"  
done

Use the above script which creates you 100 directories. Run the script, where you want to make these directories.

---

<div class="post-metadata">

**Author:** ![galford](https://community.unix.com/letter_avatar/galford/32/6_449c533f586939b6e5f246632a46421f.png) [@galford](https://community.unix.com/u/galford)\
**Post date:** [September 25, 2011, 10:15pm UTC](https://community.unix.com/t/directory-split/296033/3 "2011-09-25T22:15:35Z")

</div>

Yes it creates the directories but the files in the [example.com](http://example.com) arent copied. I want the files to copy in those created directories also. Thanks.

---

<div class="post-metadata">

**Author:** ![dnam9917](https://community.unix.com/letter_avatar/dnam9917/32/6_449c533f586939b6e5f246632a46421f.png) [@dnam9917](https://community.unix.com/u/dnam9917)\
**Post date:** [September 25, 2011, 10:54pm UTC](https://community.unix.com/t/directory-split/296033/4 "2011-09-25T22:54:09Z")

</div>

In that case,

i=1  
while [$i -le 100]  
do  
mkdir $[i.example.com](http://i.example.com)  
cp -pr example $[i.example.com](http://i.example.com) # recursively copies all the files and contents  
i=`expr $i + 1`  
echo " created $[i.example.com](http://i.example.com) directory"  
done

Hope this helps

---------- Post updated at 09:54 PM ---------- Previous update was at 09:52 PM ----------

typo..

try this..

i=1  
while [$i -le 100]  
do  
mkdir $[i.example.com](http://i.example.com)  
cp -pr [example.com](http://example.com) $[i.example.com](http://i.example.com) # recursively copies all the files and contents  
i=`expr $i + 1`  
echo " created $[i.example.com](http://i.example.com) directory"  
done

---

<div class="post-metadata">

**Author:** ![galford](https://community.unix.com/letter_avatar/galford/32/6_449c533f586939b6e5f246632a46421f.png) [@galford](https://community.unix.com/u/galford)\
**Post date:** [September 25, 2011, 11:02pm UTC](https://community.unix.com/t/directory-split/296033/5 "2011-09-25T23:02:10Z")

</div>

Working but seems to make a additional directory [example.com](http://example.com) in the new created folders.

[root@mail www]# ls [57.example.com](http://57.example.com)  
[example.com](http://example.com)

LE: Nevermind, added /\* and works fine. Thanks a million.

---

<div class="post-metadata">

**Author:** ![yazu](https://community.unix.com/user_avatar/community.unix.com/yazu/32/7048_2.png) [@yazu](https://community.unix.com/u/yazu)\
**Post date:** [September 26, 2011, 12:03am UTC](https://community.unix.com/t/directory-split/296033/6 "2011-09-26T00:03:33Z")

</div>

ksh93/zsh/bash:

```nohighlight
mkdir {1..100}.example.com

```

sh:

```nohighlight
seq 1 100 | xargs -I{} mkdir {}.example.com 

```

For copy:

```nohighlight
cp -r example.com {1..100}.example.com

```

The same with xargs.

---

<div class="post-metadata">

**Author:** ![jayan\_jay](https://community.unix.com/user_avatar/community.unix.com/jayan_jay/32/1006_2.png) [@jayan\_jay](https://community.unix.com/u/jayan_jay)\
**Post date:** [September 26, 2011, 5:38am UTC](https://community.unix.com/t/directory-split/296033/7 "2011-09-26T05:38:28Z")

</div>

no need for mkdir command

```nohighlight
$ i=1;while [$i -le 100]; do cp -prf example.com $i.example.com; i=$((i+1));done

```
