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 43 times
0
mynameisJEFF
- 3,735
- 7
- 46
- 90
-
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
- 77,979
- 13
- 71
- 125
-
`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
- 137,499
- 74
- 643
- 694
James Andino
- 22,903
- 15
- 52
- 75