分页: 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)"
都可以的。