I created an array in bash by arr=($(seq 0.75 0.01 1))
. Problem is I want to create multiple folders with names like this, "folder0.75 , folder0.76,... folder1" . I tried mkdir folder${arr}
but it does not give me what I want.
Asked
Active
Viewed 47 times
0

mynameisJEFF
- 4,073
- 9
- 50
- 96
-
Have you tried iterating through the array? – Ignacio Vazquez-Abrams Mar 02 '15 at 05:52
-
How do I do that ? Does it mean I need to write a bash script ? Or it can still be done on the command line. – mynameisJEFF Mar 02 '15 at 05:53
2 Answers
2
for i in ${arr[@]}; do
mkdir "folder${i}"
done
or with bash's Parameter Expansion:
mkdir "${arr[@]/#/folder}"

Cyrus
- 84,225
- 14
- 89
- 153
-
`mkdir "{arr[@]}"` looks really elegant but how do I concatenate "folder" in front of ${arr[@]} . Also , I want to know what is difference between using single quote and double quote in this case ? – mynameisJEFF Mar 02 '15 at 06:03
-
I've fixed my answer. To your question, please take a look at: [Difference between single and double quotes in bash](http://stackoverflow.com/a/6697781/3776858) – Cyrus Mar 02 '15 at 06:19
0
Use the following code:
for item in $(cmd); do
mkdir "$item";
done

kenorb
- 155,785
- 88
- 678
- 743

Tegra Detra
- 24,551
- 17
- 53
- 78