分页: 1 / 1

进入子目录的数组

发表于 : 2011-01-30 15:42
numbchild
假设A目录下面有1-10个子目录,分别名字为1-10,我要在这十个目录下分别建立一个文件,所以要做的其中一个步骤是读取当前目录的子目录列表,然后cd 1/ ; touch file ; cd .. ;
但是这个array数组我不知道怎么弄的,请高手帮忙。

Re: 进入子目录的数组

发表于 : 2011-01-30 17:11
SivaCoHan
我一点也不会,留名,帮顶

Re: 进入子目录的数组

发表于 : 2011-01-30 18:49
astolia
使用for循环

代码: 全选

for d in *;do
touch "$d"/file
done

Re: 进入子目录的数组

发表于 : 2011-01-30 20:59
numbchild
astolia 写了:使用for循环

代码: 全选

for d in *;do
touch "$d"/file
done
可是要怎么读取子目录并排成一个数组呢?我试了ls和find -type d -print都不行,
就是要在${dir_arr[2]}这样应用单个的

Re: 进入子目录的数组

发表于 : 2011-01-30 22:05
astolia

代码: 全选

a=(*)
echo ${a[0]}
echo ${a[1]}

Re: 进入子目录的数组

发表于 : 2011-01-31 11:53
numbchild
astolia 写了:

代码: 全选

a=(*)
echo ${a[0]}
echo ${a[1]}
yeah,我会这个引用,但是怎么把子目录变成一个一个的数组元素不会,ls是变成了只有一个元素的,
find好像也不行:
array[*]=`find /path -type d -print `
但是这个只有一个元素

Re: 进入子目录的数组

发表于 : 2011-01-31 12:00
tusooa

代码: 全选

arr=() ; for i in * ; do arr+=("$i") ; done

代码: 全选

arr=() ; while read line ; do arr+=("$line") ; done <<< "$(find -type d)"
都可以的。