Perl轻松分析数据两例
某日在网上溜达,看见一网友博客(http://rainbird.blog.51cto.com/211214/165779)上的两道题,作者说没有两年linux道行,很难做出其中三道。这里我们看看这些题究竟有多难(仅针对脚本编程)。第一道:
[*]取出/etc/passwd中shell出现的次数
顺便贴一下我的/etc/passwd文件
[*]root:x:0:0:root:/root:/bin/bash
[*]bin:x:1:1:bin:/bin:/sbin/nologin
[*]daemon:x:2:2:daemon:/sbin:/sbin/nologin
[*]adm:x:3:4:adm:/var/adm:/sbin/nologin
[*]lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[*]sync:x:5:0:sync:/sbin:/bin/sync
[*]shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
[*]halt:x:7:0:halt:/sbin:/sbin/halt
[*]mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
[*]news:x:9:13:news:/etc/news:
[*]uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
[*]operator:x:11:0:operator:/root:/sbin/nologin
[*]games:x:12:100:games:/usr/games:/sbin/nologin
[*]gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
[*]ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[*]nobody:x:99:99:Nobody:/:/sbin/nologin
[*]nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
[*]vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
[*]rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
[*]mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
[*]smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
[*]oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
[*]pcap:x:77:77::/var/arpwatch:/sbin/nologin
[*]dbus:x:81:81:System message bus:/:/sbin/nologin
[*]avahi:x:70:70:Avahi daemon:/:/sbin/nologin
[*]sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
[*]rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
[*]nfsnobody:x:4294967294:4294967294:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
[*]haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
[*]avahi-autoipd:x:100:156:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin
[*]xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
[*]ntp:x:38:38::/etc/ntp:/sbin/nologin
这道题真的很简单,要知道处理文本那可是Perl的强项。熟悉perl的童鞋,一个hash就能搞定。
[*]#!/usr/bin/perl -w
[*]
[*]use strict;
[*]
[*]my %hash;
[*]
[*]open my $file,'
页:
[1]