免费注册 查看新帖 |

Chinaunix

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

[学习共享] [ SHELL 综合水平测试 ] [复制链接]

论坛徽章:
0
41 [报告]
发表于 2005-01-14 04:44 |只看该作者

[ SHELL 综合水平测试 ]

原帖由 "寂寞烈火" 发表:
真心希望版主方便的时候,最好能逐一讲解一下
P.S:这个测试涉及的面比较广,相信很多知识,大家都是第一次听说(我就是),这就算是个奢望吧,呵呵


烈火兄,这里的部分题目并非几句就可以说清楚的。 我之所以以题目的方式, 就
是有感于此坛有头痛医头,脚痛医脚;只见树木,不见森林的倾向。另外一个原因
是想偷懒。因为有些题本来可以独立成篇的, 没有时间,只有作罢。简单做答,
又怕不准确全面而误人子弟。

正如楼上几位仁兄所言, 只要能解决问题, 不必懂得茴字的 N 种方法。 但对于想
深入了解的人, 可以作为参考。总之, shell 坛还是需要多元化的。

论坛徽章:
0
42 [报告]
发表于 2005-01-14 11:34 |只看该作者

[ SHELL 综合水平测试 ]

“我之所以以题目的方式, 就是有感于此坛有头痛医头,脚痛医脚;只见树木,不见森林的倾向。另外一个原因是想偷懒。因为有些题本来可以独立成篇的, 没有时间,只有作罢。”

我认为在论坛上怕只能做到点,而不能做到面。除非是开展在线教学,否则要想得到“面”,除了自己下功夫学习外,我认为没有第二条路可走。如果想在论坛上看一下讨论就能精通某项技术,我觉得真有点做白日梦的味道,所以老大也不用自责。

个人见解。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
43 [报告]
发表于 2005-01-15 13:50 |只看该作者

[ SHELL 综合水平测试 ]

AWK:
6. 那两种方法可以实现大小写无关匹配?

/home/lee#cat file
abc
Abc
sdfjk
sdfjlwe

/home/lee#cat file|awk '/^[[]]bc/'
abc
Abc

这个算一种么?

论坛徽章:
0
44 [报告]
发表于 2005-01-15 14:00 |只看该作者

[ SHELL 综合水平测试 ]

原帖由 "寂寞烈火" 发表:

这个算一种么?


这样 abc 与 bbc 也是匹配的, 不符合原意。  
试试匹配 AbCDef  与 aBcDEf 。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
45 [报告]
发表于 2005-01-15 14:06 |只看该作者

[ SHELL 综合水平测试 ]

原帖由 "lightspeed" 发表:


这样 abc 与 bbc 也是匹配的, 不符合原意。  
试试匹配 AbCDef  与 aBcDEf 。

再看看!
就是相当于grep的-i的功能吧!

论坛徽章:
0
46 [报告]
发表于 2005-01-16 21:19 |只看该作者

[ SHELL 综合水平测试 ]

[Aa][Ba][Cc]与不分大小写的abc匹配。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
47 [报告]
发表于 2005-01-18 23:15 |只看该作者

[ SHELL 综合水平测试 ]

12. NR 和 FNR 有何区别?

A: NR 已经读取过的记录数。
FNR 从当前文件中读出的记录数。
如果你只处理一个文件,则NR 和FNR 的值是一样的。但如果是多个文件, N R是对所有
的文件来说的,而FNR 则只是针对当前文件而言。

论坛徽章:
0
48 [报告]
发表于 2005-01-27 09:24 |只看该作者

[ SHELL 综合水平测试 ]

原帖由 "寂寞烈火" 发表:

再看看!
就是相当于grep的-i的功能吧!


是啊,那不就是grep -i "abcdef" filename就ok了吗?

论坛徽章:
0
49 [报告]
发表于 2005-01-27 09:44 |只看该作者

[ SHELL 综合水平测试 ]

原帖由 "寂寞烈火" 发表:
我的理解 :
27. cmd  >a  2>a 和 cmd  >a  2>&1 为什么不同?
A: 第一条比较灵活,就是cmd输出的标准错误可以送至文件a,也可以送到别的地方,而第二条,标准错误的输出只能送至文件a.
P.S:好象很牵强  ..........


似乎是这样:cmd  >a  2>a可能会引起数据丢失,因为同时往a里面写数据;而
cmd  >a  2>&1会使sderr在sdout后输入a,避免了数据输出冲突!
不知道对否?

论坛徽章:
0
50 [报告]
发表于 2005-02-10 09:06 |只看该作者

[ SHELL 综合水平测试 ]

寒假(俺混迹于学校)回家,什么书也没带,就带了本awk&sed回来看。。。一直以来承蒙shell版面各位关照,看到此题。。。不禁汗流浃背,心跳加速。予能回答之问,十中余一也。

不过我倒对附加的几道题比较有心得,尝试说说看:

  1. 1. 为什么说 CU 的整体较为业余, 但 shell 版的水平相对较高?
复制代码

大致从上世纪80年中后期开始,unix现迹于中国各行业,90年代中后期由于中国it形式发展,已经大致完成了初期建设,不少学习者完成了从win开始了解计算机的最初接触阶段,开始尝试使用计算机进行实际的工作/学习,顺由linux之火,freebsd之风,由win阵营转unix(泛指linux&unix),而cu以其较深的资历,汇集了中国最早一代unix用户,积火传薪,于是cu成为众多unix爱好者朝圣之地也。unix门派众多,以aix,hp-ux,solaris为server代表,linux,bsd,sco为x86代表,其中学习shell者,大多是需用于实际工作中——“勤致极,懒也!”如何快速高效地完成事务,如何能忙中偷闲品茗灌水,全耐shell脚本之能——兴趣爱好是最好的老师,工作需求是最好的动力,于是学shell之心可谓日月可鉴。所谓凤凰不栖无宝山,shell版面一向风尚良好,无xx版面工具之争,也无xx版面灌水之习,将“技术为人所用”的理念贯彻始末。shell版面斑竹从来人品才艺俱佳,予生之恨晚,无缘得见高人,来时已是红袖领舞之秋,但历代斑竹有教无类,淳淳善诱之风仍历历在目。江山代有才人出,各领风骚数百年,学技术的同时也学到了人品,学语法的时候也学到了思考。因此虽斑竹常换,月有盈亏,但斑竹诲人之德常在,学员助人之风常存,勤思少问之为长驻,出恭入敬之礼常青。古有宋玉,常言:“长得帅,是父母生得好;会学问,是老师教得好;学得快,是自己会思考。”灌系统乃起步,架设服务乃进阶,使用工具乃修炼,熟悉系统结构乃成仁,完成此等步骤者,方有学习shell之可能。此前之试炼,心意不诚者,学而不思者,狂妄无理者,四体不勤者均已被大浪淘沙,剩下来学shell者,自然不会基础资质功底品行太差。cu shell版面有人品技术俱高之斑竹,有彼此友善之同道,有良好的学习风气。此处天时,地利,人和兼备,能不学好乎???

  1. 2. 为什么 shell 版中的大部分高手都是玩 Linux 的, 而低手往往是 Sco unix, HP-UX 等其他平台的?
复制代码

小子无德,但有幸接触过vms,digital unix,solaris,bsd及linux操作系统,感触颇深处为——gnu之工具真乃利器也。在solaris的默认环境下,digital unix的默认环境下,对窗口界面((xwindows)下的程序的确做得不错(中文支持等方面的“默认”情况更好),但字符界面下则相对差很多,比如无彩色文件名显示,无bash环境(我是用此做输入环境,但写shell脚本一般是sh),无历史命令查阅,无vim等,造成一个unix用户如果首先接触unix,绝对对shell环境不会有所兴趣,且若是强要学之,必先装相当一部分软件方可,比如在下在solaris下想营造一个类似linux的shell环境,大致需要10个以上的软件包,此原因一,占工具之利也。良好的开始是成功的一半,win靠其界面吸引了相当一批电脑初学者,而lin则靠其良好的shell界面吸引了一批shell初学者。有几人有钱私人买aix,solaris for sparc,sco用的???大多是单位服务器上装有,而服务器的特点大致是——装好之后,非请勿动。于是练手时间甚少,和自己机器操刀装个linux,乃至vmware出马相比,lin的使用人数大大多于aix,solaris用户,孔子授徒三千,成者七十二人。按此比例,lin出shell高手之概率也胜出很多,此乃人和。按此算来,lin的shell高手本该有此之数也,该斑竹诚不欺吾等小儿也。但其实aix,solaris等系统上的shell高人也是很多的,只是很多不来cu而已。

  1. 3. 为什么当低手怯怯地抛出一个问题, 高手快速地给出了漂亮的解答, 却往往最后并没有解决低手的问题?
复制代码

百尺高楼从地起,冰冻三尺非一日之功。shell的犀利,不只在于对csh,bash自身功能的调用,而在于对系统中各个命令的熟悉。从某种意义上来说,shell高手是对系统命令,第三方工具命令,正则表达式,文件系统结构,服务架设,配置文件位置,数据库基本应用都有一定功力者方可任之。于是乎,短短一行shell,在新手看来如闻天书,不是对正则不了解,就是对第三方命令不熟悉,甚至是文件系统结构亦不知。此等情形,得高手之答案,却犹如空得倚天却不会吐纳之法,空得屠龙却目不识丁也。盖因不注重基础修为,一心只想速成,走火入魔难有大成也。
更有甚者,对问题分析出错,原本乃数据库之错,误判为shell语法错误;本乃sed工具之能,偏以awk为之。。。“技术为人所用”,正确地判断使用最适合的工具也是前提,此乃学而不思或眼界狭窄者之误。
曾子常好三省己身,学习之道亦然。知其然更需知其所以然,高手给的答案背后,高手的思考方式和自己为什么不同?高手所选用的工具利弊何在;高手所动用之算法为何谓?这些是一个答案背后所藏之更宝贵者。。。汝学知否?古之人有不动笔墨不读书之习,自问有做笔记之习否?心得心得,用心所得,虽是如此,更可贵者为分享心得者。敝帚自珍之会害人害己,如果能够做完xx之后,写小小心得,一来可以让后人乘凉,二来可以自查自己是否已真知也,更可得他人垂问,让技艺更有所精进。犹记cu之blog初开,予年少气盛,与“南非蜘蛛”舌论“blog之利弊”,其所说曰“技术之人靠一技旁身,不欲公诸于众”之语予至今不敢苟同。历代成大事者,皆有大将之风;技术只有靠交流才能提高,如想靠“别人比自己更差”而惨喘者,必所学有限也。。。此乃题外话也。

2005年,愿shell版众人在斑竹带领指引下,取得更大进步。shell版面依然要在cu保持一方净土,坚决抵制版聊,抵制“裸体跪求”,抵制索求无度的lamer

我靠,现在打字是慢了,这么点字打了一个小时。。。

请斑竹给俺的这则作文打分,   

评分

参与人数 1可用积分 +4 信誉积分 +2 收起 理由
rdcwayx + 4 + 2 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP