免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345
最近访问板块 发新帖
楼主: modigfkl
打印 上一主题 下一主题

今天面试的几道SHELL编程题 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2009-10-11 16:31 |只看该作者

回复 #1 modigfkl 的帖子

第一题:#!/bin/bash
if [ -d $1 ]
   then
   find $1 -type d -name ".**" -print
   else
   echo "Please make sure position variable is a directory!!"
fi
第二题:
#!/bin/bash
ll | awk '$5==0{print $NF}'
ll | awk '$5==0{print $NF}' | xargs rm -rf

第三题 : seq 1 100 | grep -v '7' | awk '{a=$0%7}a{print}'

[ 本帖最后由 greendays 于 2009-10-11 16:57 编辑 ]

论坛徽章:
0
42 [报告]
发表于 2009-10-12 12:09 |只看该作者
另一种解第二题的方法
#!/bin/bash


for x in `ls *.txt`
do if [ -s $x ]
   then
       echo "aaa" > /dev/null
   else
       echo $x
   fi
done

论坛徽章:
0
43 [报告]
发表于 2009-10-12 12:32 |只看该作者
第三题- -
#!/bin/bash

for x in `seq 0 1000`
do
   num=`expr $x \% 7`
   if [ $num -ne 0 ]
   then
       echo $x|grep -v 7
   fi
done

论坛徽章:
0
44 [报告]
发表于 2009-10-12 20:06 |只看该作者

回复 #5 wenyunqiu 的帖子

嗯,这个方法很好啊,执行速度很快~

论坛徽章:
0
45 [报告]
发表于 2009-10-12 20:14 |只看该作者
第二题要求删除.txt结尾的空文件,程序如下:
==================================================
#!/bin/sh

n=0

for fname in `ls -al | awk '$5==0 && $9~/\.txt$/' {print $9}`
do
  rm $fname
  echo "$fname is removed"
  n=`expr ${n} + 1`
done

echo "${n} empty .txt files are removed."
==================================================
程序删除所有(包括隐藏文件)以.txt结尾的文件。

论坛徽章:
0
46 [报告]
发表于 2009-10-12 20:19 |只看该作者
原帖由 fwloveme 于 2007-6-19 18:43 发表
if [ -n "$1" -a -d "$1" ];then
        ls -a $1|grep '^\.[^.]'
以上语句的"-n",还有ls -a $1|grep '^\.[^.]'是什么意思啊?


-n检查是否为空。
-a为逻辑与操作。
-d判断是否为文件夹。

论坛徽章:
0
47 [报告]
发表于 2009-10-12 20:30 |只看该作者
厉害!

正在学shell script 。好不容易看玩题目,别提写出来了。高手太多啊

论坛徽章:
0
48 [报告]
发表于 2010-03-12 16:28 |只看该作者
3.

seq 1000 |awk '$1!~/.*7.*/{if($1%7!=0)print $1}'

论坛徽章:
0
49 [报告]
发表于 2010-03-12 16:30 |只看该作者
{:3_184:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP