当前位置: 技术问答>linux和unix
IBM公司面试题!你会吗?
来源: 互联网 发布时间:2016-06-25
本文导语: linux面试题 根文件夹为:以月份开始:01 02 03 04 05 06 07 08 09 10 11 12 子文件夹为: 以日为单位:例如08月共有31天 此时有:以01到 31命名的文件夹. 子文件夹下面 都有统一 以一天 八个时段命名的文件夹:10 11 12...
linux面试题
根文件夹为:以月份开始:01 02 03 04 05 06 07 08 09 10 11 12
子文件夹为: 以日为单位:例如08月共有31天 此时有:以01到 31命名的文件夹.
子文件夹下面 都有统一 以一天 八个时段命名的文件夹:10 11 12 14 16 18 20 22下面 都有以.pcm命名的文件。
请在根目录(月份01~12)建立文件下面用bash或ksh脚本实现:
1.某个月,每天有多少.pcm文件,例如算出08月从01号到31号每天有多少.pcm文件?例如01号123456个
同时算出算出每天文件夹占磁盘空间的大小以G为单位?例如01号占30G ,02号占25G。
2.也可以根据自己输入的参数、月(如08月)日(如日期01号,03号 ,18号等)算出相应的(01,03,18号)文件夹下面的.pcm文件个数和相应
占磁盘空间的大小?也可以不输入 日,只输入月份 算出全部 每天有多少.pcm文件,每天占磁盘空间大小!
根文件夹为:以月份开始:01 02 03 04 05 06 07 08 09 10 11 12
子文件夹为: 以日为单位:例如08月共有31天 此时有:以01到 31命名的文件夹.
子文件夹下面 都有统一 以一天 八个时段命名的文件夹:10 11 12 14 16 18 20 22下面 都有以.pcm命名的文件。
请在根目录(月份01~12)建立文件下面用bash或ksh脚本实现:
1.某个月,每天有多少.pcm文件,例如算出08月从01号到31号每天有多少.pcm文件?例如01号123456个
同时算出算出每天文件夹占磁盘空间的大小以G为单位?例如01号占30G ,02号占25G。
2.也可以根据自己输入的参数、月(如08月)日(如日期01号,03号 ,18号等)算出相应的(01,03,18号)文件夹下面的.pcm文件个数和相应
占磁盘空间的大小?也可以不输入 日,只输入月份 算出全部 每天有多少.pcm文件,每天占磁盘空间大小!
|
我简单写了一个,lz参考一下
#!/bin/bash
errmsg()
{
echo "Error:"$1
}
stat()
{
#month
[ -d $1 ] || errmsg "Not a directory"
cd $1
list1=`ls`
for l1 in $list1
do
#day
[ -d $l1 ] || errmsg "Not a directory"
echo "size of the directory '"$l1"':"
du -s #l1
count=0
oldpath=`pwd`
cd $l1
list2=`ls`
for l2 in $list2
do
tmp=`ls -1U $l2 | wc -l`
count=`expr $count + $tmp`
done
cd $oldpath
echo "count:"$count
done
}
stat 01
|
这个是竞聘服务器端出的题吧
|
lz发的位置还真多啊。
不就是统计文件个数和大小吗?
不就是统计文件个数和大小吗?
|
哦,原来IBM面试还考题目的。
怎么我面的时候,都是些生活,性格,项目之类的问题啊。
压根就没讨论过具体的技术问题。。
怎么我面的时候,都是些生活,性格,项目之类的问题啊。
压根就没讨论过具体的技术问题。。
|
说个大概的思路,
用 `find 月/日 -name *.pcm | wc -l`就可以统计出每天下面有多少个pcm文件。
要统计一个月的话,外面再套个循环加起来就行了。
num = 0;
for day in `find 某月 -maxdepth 1 -mindepth 1 -type d`
do
tmp=`find $day -name *.pcm | wc -l`
num=`expr $num + $tmp`
done
统计占用空间的话类似的用du -dir统计下就成
用 `find 月/日 -name *.pcm | wc -l`就可以统计出每天下面有多少个pcm文件。
要统计一个月的话,外面再套个循环加起来就行了。
num = 0;
for day in `find 某月 -maxdepth 1 -mindepth 1 -type d`
do
tmp=`find $day -name *.pcm | wc -l`
num=`expr $num + $tmp`
done
统计占用空间的话类似的用du -dir统计下就成
|
要是我去面试问我这个就好了,可惜E文不好,不敢去。。。