试验10 字符串处理估计时间: 60分钟目标: 熟悉字符串处理 试验的起点: 一个red hat linux系统,把/etc/passwd拷贝到你的主目录下.第一步:字符串处理基本知识任务:1..拷贝/etc/passwd到你的主目录下:$ cd$ cp /etc/passwd2. 在/etc/passwd里面有系统里的每一个帐户.使用wc,在passwd文件里计算有多少行.$ wc –l passwd在你的系统里有多少个帐户____________3. 找出本机中所有用户使用的各种shell并把其放置在一个文件内: $ cut –d: -f7 passwd > shells4. 使用cat命令查看你新的shells文件的内容,为了使输出结果更为友好.用sort命令输出这些数据在一个新的文件里: $ sort shells > sorted.shells5. 你的文件包含许多同样的内容.使用uniq命令可以计算出有多少个相同的行:$ uniq –c sorted.shells > uniq.sorted.shells为什么在使用uniq之前要使用sort命令6. 按照数字由大到小的顺序列出在你的机器上使用的各种shell: $ sort –nr uniq.sorted.shellsi. /sbin/nologin6 /bin/bash1 /sbin/shutdown1 /sbin/halt1 /bin/sync结果:按照数字由大到小的顺序列出你机器上所有用户使用的各种shell:步骤2:更多的练习为每一个练习写下解决办法.记住,答案是一个你想出办法的命令,不是输出.答案在实验的最后被列出来了,但是在对答案之前,你可以试着完成每个任务.每个答案将显示单独的一行.这个命令aspell没有man page;你将怎样获得帮助呢?7. 有多少文件在/usr/bin目录下?输出是一个单一的整数.提示:设计一个命令列出文件名到每一行,然后计算一共有多少行.__________________________________________________________8. 列出下列文件/usr/share/doc/nautilus-*/news中拼错的单词.__________________________________________________________12. 多少唯一的单词从上述练习中输出?__________________________________________________________步骤2答案:1 ls –l /usr/bin | wc -l2 aspell –l < /usr/shar/doc/nautilus-*/news3 aspell –l < /usr/share/doc/nautilus-*/news | sort | uniq | wc -l (end) 试验11使用正则表达式进行字符处理估计时间: 60分钟目标: 熟悉red hat linux中进行字符处理的几个工具试验的起点: 安装red hat linux,并且能正常工作,拷贝 /etc/passwd到你的主目录中 步骤1:使用grep进行字符处理任务:1. 在copy到你主目录中的/etc/passwd文件的副本中,使用grep显示出所有以“g”开头的帐户:2. 显示出所有使用bash shell的帐户:$ grep ‘bash$’ passwd3. 显示出没有使用bash作为shell的帐户:$ grep –v ‘bash$’ passwd4. 为了做一个使用diff的例子,我们要更改这个passwd文件的拷贝,先用grep把原文件中所有含有“n”与“p”的行删除:$ grep –v ‘np’ passwd > modified.passwd5. 最后再用tr将含有的所有大写字母变成小写:$ tr “a-z” “a-z” < modified.passwd > modified2.passwd6. 这时使用cat命令看原来的passwd文件与改过的modified2.passwd文件,不仔细看看不出其中的区别,这只是小文件,如果文件大一些,想象一下拥有几千个用户的文件.使用diff可以产生两个文件中不同之处的列表.$ diff modified2.passwd passwd14a15,16> ftp:x:14:50:ftp user:/var/ftp:/sbin/nologin> nobody:x:99:99:nobody:/:/sbin/nologin… …步骤2:正则表达式及字符处理在任务下面的横线上写下你的解决方案,你要写出你的命令而不是命令的输出,答案在实验最后,但是要先试着自己解决,可以使用man page来帮助你解决问题.... 下一页