Chinaunix

标题: 你能写出这几道题的答案吗 [打印本页]

作者: xyst    时间: 2009-04-28 19:56
标题: 你能写出这几道题的答案吗
因本人未接触过编程脚本,特请教几道题,看哪位豪客帮忙回复一下,谢谢




1、删除/home目录及子目录中所有包含字母A的文件
2、文件src内容,输出第一列
  orange 2002/9 28
  apple 2003/1 10
3、一个文件2000行,分别用一个shell命令输出
    a), 第1000行
    b) 所有以a开头的行
    c)第10个包含name的行
共3题,谢谢!
作者: 寂寞烈火    时间: 2009-04-28 20:09
Homework?
作者: xyst    时间: 2009-04-28 20:16
原帖由 寂寞烈火 于 2009-4-28 20:09 发表
Homework?

是今天面试公司的笔试题,想求个答案,呵呵
作者: 我是DBA    时间: 2009-04-28 20:22
标题: 回复 #3 xyst 的帖子
总体来讲都不算太难.
作者: haimming    时间: 2009-04-28 20:24
标题: 回复 #4 我是DBA 的帖子
面试考这么具体的吗?
完全不会,说来听听
作者: xyst    时间: 2009-04-28 20:31
原帖由 我是DBA 于 2009-4-28 20:22 发表
总体来讲都不算太难.

可以帮忙给个答案吗,多谢啊
作者: ywlscpl    时间: 2009-04-28 20:38
这几题,在shell版混个几天就都会了
作者: blackold    时间: 2009-04-28 20:43

出去玩啰,从小就不爱做作业。
作者: 我是DBA    时间: 2009-04-28 20:50
标题: 回复 #5 haimming 的帖子
砍死你,居然调戏我,不想活了.
作者: xiaobaibbb    时间: 2009-04-28 20:55
命令啊大哥,这哪算是shell脚本...
作者: xyst    时间: 2009-04-28 21:27
抓狂了,是不是都觉得太简单不屑回答啊,拜托各位了,偶可是一点都不会,求答案啊
作者: leetaedong    时间: 2009-04-28 21:36
原帖由 xyst 于 2009-4-28 21:27 发表
抓狂了,是不是都觉得太简单不屑回答啊,拜托各位了,偶可是一点都不会,求答案啊

这几个题 还是不错的.   可以考到点东西.
作者: xyst    时间: 2009-04-28 21:39
原帖由 leetaedong 于 2009-4-28 21:36 发表

这几个题 还是不错的.   可以考到点东西.

还是米说答案。
作者: leetaedong    时间: 2009-04-28 21:42
man find
man awk
man sed ....
作者: xyst    时间: 2009-04-28 21:53
原帖由 leetaedong 于 2009-4-28 21:42 发表
man find
man awk
man sed ....

哎,没人帮忙,哭死,baidu知道也提问了,可以去回答哦,分虽然不多,只有5分,不过,真的想知道答案,谢谢
作者: haimming    时间: 2009-04-28 21:57
lz既然这一点也不会,单求一个答案有什么作用呢?不如把等别人答案的时间去翻下书的好吧
作者: xyst    时间: 2009-04-28 22:03
原帖由 haimming 于 2009-4-28 21:57 发表
lz既然这一点也不会,单求一个答案有什么作用呢?不如把等别人答案的时间去翻下书的好吧

兄台,因为要交差,走流程,实际工作用不到,还有很多,是其他方面的,这方面就这3个题,能给个答案不,谢了,在线等了。
作者: kwokcn    时间: 2009-04-28 22:19
1、find /home -type f -name "*A*" | xargs rm -f
2、cut -d' ' -f1 src
3、a) awk 'NR==1000{print; exit}' urfile
     b) grep "^a" urfile
     c) awk '$0~/name/{n++;if(n==10){print; exit}}' urfile
作者: 我是DBA    时间: 2009-04-28 22:23
标题: 回复 #18 kwokcn 的帖子
高手,拜拜
作者: xyst    时间: 2009-04-28 22:25
原帖由 kwokcn 于 2009-4-28 22:19 发表
1、find /home -type f -name "*A*" | xargs rm -f
2、cut -d' ' -f1 src
3、a) awk 'NR==1000{print; exit}' urfile
     b) grep "^a" urfile
     c) awk '$0~/name/{n++;if(n==10){print; exit}}' urfile

多谢,还是好人多。非常感谢
作者: drvial    时间: 2009-04-28 22:26
刚学shell,不知道对不对
1 $find ~ -name "*A*"  -exec rm {} \;
2$awk '{print $1}' src
3ased  -n '1000p' file
  bsed -n  '/^a/p' file
  cgrep 'name'  file | sed -n '10p'
作者: 我是DBA    时间: 2009-04-28 22:27
标题: 回复 #21 drvial 的帖子
这位兄台写得很厉害
作者: kwokcn    时间: 2009-04-28 22:29
原帖由 我是DBA 于 2009-4-28 22:23 发表
高手,拜拜

= =
看楼主确实着急才给的,你这么一说我好虚啊…… = =
作者: drvial    时间: 2009-04-28 22:30
原帖由 我是DBA 于 2009-4-28 22:27 发表
这位兄台写得很厉害

刚学...我也不知道对不...请指教
作者: ywlscpl    时间: 2009-04-28 22:38
标题: 回复 #21 drvial 的帖子
第一题的/home目录难道有歧义?应该就是/home吧,不用~了
作者: haimming    时间: 2009-04-28 22:40
又被DBA搞成水贴了
作者: drvial    时间: 2009-04-28 22:43
原帖由 ywlscpl 于 2009-4-28 22:38 发表
第一题的/home目录难道有歧义?应该就是/home吧,不用~了

恩,用/home好,谢谢指点,刚接触一星期,不太懂.发完了才看到前面有高人发了,发现我这个里没有加tpye -f 会把目录中包含A的目录也删除了.
作者: kwokcn    时间: 2009-04-28 22:48
原帖由 drvial 于 2009-4-28 22:43 发表

恩,用/home好,谢谢指点,刚接触一星期,不太懂.发完了才看到前面有高人发了,发现我这个里没有加tpye -f 会把目录中包含A的目录也删除了.

刚学一星期就能给出答案,再多折腾折腾就牛大了~
另外我也不是高人,跟你一样是新手,混在这里跟大牛们学习~ :)
作者: drvial    时间: 2009-04-28 22:55
原帖由 kwokcn 于 2009-4-28 22:48 发表

刚学一星期就能给出答案,再多折腾折腾就牛大了~
另外我也不是高人,跟你一样是新手,混在这里跟大牛们学习~ :)

恩,过奖了,,,花一月时间看了鸟哥的基础,又一个多星期吧坛子里的基础十二篇过了一遍,顺便把十三也看了,大体上都看懂了,不过就消化了十分之一吧.
作者: ywlscpl    时间: 2009-04-28 23:07
标题: 回复 #29 drvial 的帖子
赞一个
作者: xyst    时间: 2009-04-28 23:19
好惭愧啊,对于我来说,你们都是高手,过了5。1也要好好学学,addoil
作者: flyaway57    时间: 2009-04-28 23:31
[code]
head -n 1000 haha | tail -n 1
[\code]
不会用awk的飘过
作者: angeljyt    时间: 2009-04-28 23:34
第一题
find /home/ -type f -name *A* |xargs rm
第二题 
cut -d" " -f1 test.txt
第三题:sed,awk,grep,python,lua,php,java所有支持正则的均可实现,我写个grep的
输出第1000行
grep -m1000 ".*" text.txt|tail -1
匹配a开头
grep ^a text.txt

包括name的第10行
grep -m10  name  text.txt|tail -1

[ 本帖最后由 angeljyt 于 2009-4-29 00:00 编辑 ]
作者: kwokcn    时间: 2009-04-28 23:38
原帖由 angeljyt 于 2009-4-28 23:34 发表
第一题
find /home/ -type f -name *A* |xargs rm
第二题 
cut -d" " -f1 test.txt

*A* 得加上双引号。
作者: angeljyt    时间: 2009-04-28 23:56
标题: 回复 #34 kwokcn 的帖子
没哪个必要
作者: kwokcn    时间: 2009-04-29 02:00
原帖由 angeljyt 于 2009-4-28 23:56 发表
没哪个必要

实践出真知……
作者: alexyandy_unix    时间: 2009-04-29 13:30
又见不给答案的,不要想楼主是不是不劳而获,首先首先想想自己愿不愿付出。。。。
又想起论坛置顶的内容了,具体的可以去看看。凡是以解决问题为要义,其他的都是延伸或者枝桠。
现在的社会,愿意提问的不多了
作者: handsomezhi    时间: 2009-04-29 15:49
标题: 回复 #10 xiaobaibbb 的帖子
是啊,是啊
作者: ztj2247    时间: 2009-04-29 17:10
1、删除/home目录及子目录中所有包含字母A的文件
find /home -name "a*"|xargs rm -rf
2、文件src内容,输出第一列
  orange 2002/9 28
  apple 2003/1 10
3、一个文件2000行,分别用一个shell命令输出
    a), 第1000行
awk 'NR==1000{print $0}'
    b) 所有以a开头的行
cat file |grep ^a
    c)第10个包含name的行
buhui
作者: liaosnet    时间: 2009-04-29 17:23
原帖由 flyaway57 于 2009-4-28 23:31 发表

head -n 1000 haha | tail -n 1
[\code]
不会用awk的飘过

你的结束code斜线写反了...
作者: liaosnet    时间: 2009-04-29 17:24
原帖由 angeljyt 于 2009-4-28 23:56 发表
没哪个必要


必须的..不带你测试下~~
作者: haimming    时间: 2009-04-29 20:00
标题: 回复 #41 liaosnet 的帖子
你应该告诉也在什么情况下试

我是DBA 冒用了您的头像,搞得我差点以为是他了
作者: Brevity    时间: 2009-04-30 13:14
第2题
awk '{print $1}' src
作者: linux-czq    时间: 2009-05-01 15:01
原帖由 drvial 于 2009-4-28 22:26 发表
刚学shell,不知道对不对
1 $find ~ -name "*A*"  -exec rm {} \;
2$awk '{print $1}' src
3ased  -n '1000p' file
  bsed -n  '/^a/p' file
  cgrep 'name'  file | sed -n '10p'


这个答案喜欢用1 ,3a,3c的,新手学习中!其他的想到的是cut 和 cat |grep。
经常交流,我是新手,超新
作者: kwokcn    时间: 2009-05-01 15:49
原帖由 linux-czq 于 2009-5-1 15:01 发表


这个答案喜欢用1 ,3a,3c的,新手学习中!其他的想到的是cut 和 cat |grep。
经常交流,我是新手,超新

处理大文件时,sed -n '1000{p;Q}' FILE 效率会明显变好。
对于3c同理,对于大文件,遍历完再选择,远不如遍历过程选择完成就退出。
作者: haimming    时间: 2009-05-01 16:58
标题: 回复 #45 kwokcn 的帖子
我如果下次面试看到有这样 的问题,我就先问考官:
1、我有权限读写方件吗?
2、要处理的文件有多大?
3、什么配置的机器?
4、对速度有要求吗?
5、文件里是否有特殊字符?
6、文件是什么编码的?
......

祝五一快乐!

[ 本帖最后由 haimming 于 2009-5-1 17:03 编辑 ]
作者: kwokcn    时间: 2009-05-01 23:55
标题: 回复 #46 haimming 的帖子
毕竟是面试题,在一张纸上能把自己的优点尽量多展现一些总是好的~
作者: wangsongtianmin    时间: 2009-05-02 22:48
标题: 回复 #1 xyst 的帖子
1: find /home -name "*a*" -exec rm -rf {} \;

2: awk '{print $1}' src

3:假设文件为a.txt
(1) head -n 1000 a.txt | tail -n 1
(2) grep '^a' a.txt
(3) grep 'name' a.txt | head -n 10 | tail -n 1
作者: macaw_w    时间: 2009-05-03 10:05
1、删除/home目录及子目录中所有包含字母A的文件

find /home -iname '*A*' | xargs -n1 rm -f

2、文件src内容,输出第一列
  orange 2002/9 28
  apple 2003/1 10

awk '{print $1}' file

3、一个文件2000行,分别用一个shell命令输出
    a), 第1000行

sed -n '1000p' file

    b) 所有以a开头的行

sed -n '/^a/p' file

    c)第10个包含name的行

sed -n '/var/p' file | sed -n '10p'
作者: wild_li    时间: 2009-05-04 11:25
LS的不错,我也喜欢用awk和sed.
作者: yoyosys    时间: 2009-05-06 13:33
像是博朗软件的测试题目啊




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