文件的随机访问

| 暂无评论 | 暂无引用通告

-->

#!/usr/bin/perl -w
use strict;

my $file=shift;
my $hostname=shift;
open FD,'+<',$file;
while(<FD>)
{
        if($_ =~ /(127.0.0.1\s+)(\S+$)/)
        {
                seek FD,-length($_),1;
                print FD $1,$hostname," ",$2;
                close FD;
                exit 0;
        }
}
close FD

 

[root@supersun changehostname]# cat hosts
127.0.0.1               localhost.localdomain localhost
192.168.2.11            newmail

[root@supersun changehostname]# ./host.pl hosts sun
[root@supersun changehostname]# cat hosts
127.0.0.1               sun localhost.localdomain localhost
192.168.2.11            newmail
[root@supersun changehostname]#
 

 

seek的用法

seek FH,$pos,0         这里的$pos是指针的绝对位置如: seek FH,0,0指针移到文件的开始处

seek FH,$pos,1          向前或向后移动$pos个字节,如果$pos为正则指针前移,$pos为负则指针后移

seek FH,$pos,2          相对于文件结尾处进很定位

暂无引用通告

发送引用通告网址: http://supersun.info/mt/mt-tb.cgi/493
如果您想引用这篇日记到您的Blog,请复制上面的链接,放置到您发表文章时的相应界面中。

发表评论

最新资源

  • IMG_1437.JPG
  • line.png
  • bar.png
  • perl_calander.jpg

关于此日记

此日记由 supersun 发表于 2007年2月 7日 13:25

此Blog上的上一篇日记linux主机名的修改

此Blog上的下一篇日记QuickImagePost测试

首页归档页可以看到最新的日记和所有日记。