Chinaunix

标题: linux shell的几道练习题,有点难度,求帮忙。 [打印本页]

作者: ckathlon_fx    时间: 2014-10-12 19:12
标题: linux shell的几道练习题,有点难度,求帮忙。
11.        扫描当前目录下所有.txt结尾的文件,但每次列出10个文件,提示是否要删除这10个文件。若选择不是则不删除,并继续显示下10个文件询问提示。若选择是则删除,并继续显示下10个文件询问提示。

12.        功能程序 newapp,运行方式:
newapp  /app/newapp/in  /app/newapp/log  YllYYYMMDD
其中  /app/newapp/in为输入目录,/app/newapp/log为程序日志目录,YYYYMMDD为日期,如20131009。该程序不能重复启动,就算处理不同天的数据也不能重复启动,否则会导致数据异常。
现需要整理启动程序脚本,包含功能:
(1)能够判断日期(YYYYMMDD)是否合法,超过3天前的日期就不能启动
(2)程序一旦重复启动,会导致数据异常,要进行有效判断。
(3)脚本能够使用参数stop、start、restart分别进行停止、启动、重启。

13.        一个有20W条记录的文件/tmp/record.txt,里面的记录类似如下:
abcd|1234:7898:2348:3456|asfb,sdue,zxcd,treo|asdf
也就是格式是$1|$2 : $3: $4: $5|$6,$7,$8,$9|$10
以$1,$3,$8,$10为组合,写一个脚本统计这个20W文件内有多少种组合,及每一种组合有多少条记录分布

作者: yxl_hit    时间: 2014-10-30 19:38
本帖最后由 yxl_hit 于 2014-10-30 21:49 编辑

xuexiyixia
作者: yxl_hit    时间: 2014-10-30 22:17
11
  1. #!/bin/bash
  2. count=1
  3. jishu=1
  4. ls *.txt >/dev/null
  5. if (( $? != 0 ))
  6. then
  7. echo wrong!
  8. exit
  9. fi
  10. for i in `ls *.txt`
  11. do
  12. echo -e "$i\t\c" >>txxxx$jishu
  13. (( count++ ))
  14. if [ `expr $count % 10` == 0 ]
  15. then
  16. ((jishu++))
  17. fi
  18. done
  19. for i in txxxx*
  20. do
  21. cat $i
  22. echo
  23. echo "是否删除"
  24. read var
  25. if [ $var = "y" -o $var = "Y" ]
  26. then
  27. rm -f `cat $i`
  28. fi
  29. rm -f $i
  30. done
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2