您的位置: 首页 >> 新闻中心 >> 计算机 >> IT认证 >> 厂商认证 >> Linux认证
老手经验谈 介绍UNIX高手的十大习惯[6]
精英教育阅读提示:在此例中,调用 wc 要比第二次调用 grep 并插入一个虚拟模式(例如 grep -c)来对行进行匹配和计数稍快一点。
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
中亚培训 Linux操作系统入门课程电话预约东城教学区¥1470
中 科 院 Linux下C语言开发自费电话预约海淀教学区¥2528
中 科 院 Linux下C语言开发公费电话预约海淀教学区¥3096
清华信管 Linux系统管理工程师电话预约清华大学教学¥3136
东方瑞通 CCNA 培训班电话预约海淀区知春路¥960

  匹配输出中的某些字段,而不只是对行进行匹配

     当您只希望匹配输出行中特定字段 中的模式时,诸如 awk 等工具要优于 grep。

     下面经过简化的示例演示了如何仅列出 12 月修改过的文件。

     清单 19. 坏习惯 9 的示例:使用 grep 来查找特定字段中的模式

     ~/tmp $ ls -l /tmp/a/b/c | grep Dec

     -rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf

     -rw-r--r-- 1 root root 238 Dec 03 08:19 README

     -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar

     ~/tmp $

     在此示例中,grep 对行进行筛选,并输出其修改日期和名称中带 Dec 的所有文件。因此,诸如 December_Report.pdf 等文件是匹配的,即使它自从一月份以来还未修改过。这可能不是您希望的结果。为了匹配特定字段中的模式,最好使用 awk,其中的一个关系运算符对确切的字段进行匹配,如以下示例所示:

     清单 20. 好习惯 9 的示例:使用 awk 来查找特定字段中的模式

     ~/tmp $ ls -l | awk ''$6 == "Dec"''

     -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar

     -rw-r--r-- 1 root root 238 Dec 03 08:19 README

     ~/tmp $

     有关如何使用 awk 的更多详细信息,请参见参考资料。

     停止对 cat 使用管道

     grep 的一个常见的基本用法错误是通过管道将 cat 的输出发送到 grep 以搜索单个文件的内容。这绝对是不必要的,纯粹是浪费时间,因为诸如 grep 这样的工具接受文件名作为参数。您根本不需要在这种情况下使用 cat,如以下示例所示:

     清单 21. 好习惯和坏习惯 10 的示例:使用带和不带 cat 的 grep 

     ~ $ time cat tmp/a/longfile.txt | grep and

     2811

     real 0m0.015s

     user 0m0.003s

     sys 0m0.013s

     ~ $ time grep and tmp/a/longfile.txt

     2811

     real 0m0.010s

     user 0m0.006s

     sys 0m0.004s

     ~ $

     此错误存在于许多工具中。由于大多数工具都接受使用连字符 (-) 的标准输入作为一个参数,因此即使使用 cat 来分散 stdin 中的多个文件,参数也通常是无效的。仅当您使用带多个筛选选项之一的 cat 时,才真正有必要在管道前首先执行连接。

     结束语:养成好习惯

     最好检查一下您的命令行习惯中的任何不良的使用模式。不良的使用模式会降低您的速度,并且通常会导致意外错误。本文介绍了 10 个新习惯,它们可以帮助您摆脱许多最常见的使用错误。养成这些好习惯是加强您的 UNIX 命令行技能的积极步骤。

 

下一篇:Linux职业认证考试102的必考点[1]

  2. Linux支持标准串/并口和游戏棒口。 /dev目录下对应每个设备/端口有一个文件。setserial命令用于显示修改串口配置。

     3. dmesg命令可显示Linux在启动时发现了哪些硬件。

     4. fdisk用于硬盘分区。 newe2fs用于建立文件系统。 mount用于将分区挂在总文件树上。

     5. ifconfig是最常用的网络配置工具。 ping通过发送ICMP消息观察一台网上机器是否可被连通。 RedHat的sndconfig用于配置声卡。 minicom用于配置modem.

   ...[查看详情]

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享95折!
  2008年国家职业资格考试
一次过关完全备考手册
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:老手经验谈 介绍UNIX高手的十大习惯[5]
下一篇:Linux职业认证考试102的必考点[1]
 相关新闻
·Linux操作系统上编译程序的方法详细介绍·UbuntuLinux操作系统CVS安装与配置详解
·UbuntuLinux系统屏幕刷新率问题的解决·Linux操作系统上ADSL拨号上网的方法详解
·Linux网卡驱动程序详解·Linux平台Makefile文件的编写基础篇
·Linux实战:分区规划方法详细介绍·利用Openbsd和Openvpn快速建立企业的VPN
·RedHatLinux认证工程师·新手必读:RHCE课堂实验笔记(4)
·菜鸟必读:RHCE课堂学习笔记(2)·新手必读:RHCE课堂实验笔记(3)
·菜鸟必读:RHCE课堂学习笔记(1)·红帽RHCE证书RH302考试
·RHCE认证笔记之三:试验二·RHCE认证笔记之二:试验一
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·实用技巧:Linux操作系统文件链接问题
·Linux操作系统的内核引导程序详细解析
·实用技巧Linux系统的经典使用技巧八则
·新手必读:RHCE课堂实验笔记(一)
·Linux系统GRUB引导单用户模式三种方式
·Linux系统上把PHP编译进Apache静态内核
·解决方案:Linux邮件系统解决方案
·RedHatEnterpriseLinux4的应用软件
·Linux命令:改变文件或目录的访问权限
·Linux攻略常用的网络安全工具详细介绍
相关试题
·RedFlagLinuxRCE模拟试题(一)
·RedFlagLinuxRCE模拟试题(二)
相关热贴