自动化脚本之Perl文本操作
来源:互联网 发布:手机禁止安装软件设置 编辑:程序博客网 时间:2024/05/16 12:22
对于前台单板上众多的日志和显示结果,如何从中找出所有自己感兴趣的内容,并组成成自己需要的文件呢?脚本可以快速实现这种“查找-复制-粘贴-修改”的繁重机械任务。
使用的perl脚本
例如某版本查询显示内容如下,我需要将几十甚至几百个版本进行相应的操作,将原始数据进行处理生成批处理文件。Perl提供了强大的文本操作功能,尤其是正则表达式,可以非常方便的处理下面的文本。
原始输入文本如下,有数百行。
Operation Result: SuccessTotal Records: 12Records Number: 10Record Information:Rack Number: 3Shelf Number: 1Slot Number: 12CPU Number: 1Physical Index: 0Package Name: servapp.pkgPackage Version Number: 0x11012001Appointed Active Time: 2011-12-14 09:17Package External Version Number: 0xffffffffRack Number: 3Shelf Number: 1Slot Number: 14CPU Number: 1Physical Index: 0Package Name: servapp.pkgPackage Version Number: 0x11012001Appointed Active Time: 2011-12-14 09:17Package External Version Number: 0xffffffff
需要转换为下面的操作命令行
INSTALL_DEACTIVE_APTD servapp.pkg 285286401 1 3-1-12-1INSTALL_DEACTIVE_APTD servapp.pkg 285286401 1 3-1-14-1...
使用的perl脚本
#! /usr/bin/perl use Math::BigInt; if(!open FILEIN, "<apt.txt") { die "Open file failed: $!"; } my @text=<FILEIN>; close FILEIN; chomp(@text); my $newpkg = 0; my $phy; my $cmdstr; my $input; my $x; foreach $input (@text) { #print "$_\n"; my @word=split(":",$input); if($word[0] eq "Rack Number"){ if($newpkg != 0){ print "Bad pkg."; } $newpkg = 1; $x = $word[1]; $x =~s/ //g; $phy="$x-"; $cmdstr="INSTALL_DEACTIVE_APTD"; } elsif($newpkg == 0){ next; } elsif($word[0] eq "Shelf Number"){ $x = $word[1]; $x =~s/ //g; $phy.="$x-"; } elsif($word[0] eq "Slot Number"){ $x = $word[1]; $x =~s/ //g; $phy.="$x-"; } elsif($word[0] eq "CPU Number"){ $x = $word[1]; $x =~s/ //g; $phy.="$x"; #print "phy is $phy\n"; } elsif($word[0] eq "Package Name"){ $cmdstr.=" $word[1]"; } elsif($word[0] eq "Package Version Number"){ $x = $word[1]; $x =~s/ //g; $x = Math::BigInt->from_hex($x); $cmdstr.=" $x 1 $phy"; $newpkg = 0; print "$cmdstr\n"; } }
0 0
- 自动化脚本之Perl文本操作
- perl脚本自动化控制之android模拟器
- Apache 配置CGI脚本操作数据库之Perl操作
- Perl脚本常用操作
- Perl 脚本中单元测试自动化浅析
- Perl 脚本中单元测试自动化浅析
- 自动化脚本之SCRT
- 自动化脚本之Shell、awk
- perl脚本对execl的操作
- 自动化脚本之关键字驱动脚本
- 在文件中查找文本的Perl脚本
- perl文本
- 通过脚本实现操作的自动化
- SoapUI自动化--Groovy脚本常用操作
- 按键精灵脚本-windows桌面自动化操作
- Perl 学习之文件操作
- shell 脚本之文本处理
- perl 、shell、python之shell脚本入门
- java操作word模板
- Jdom、Dom4j、W3c、String相互转换大全以及取Xml的属性值、设置Xml的属性值、删除Xm属性值
- Memcache的最佳实践方案
- Windows下Mysql数据库服务的关闭和重启
- LNMP经验分享
- 自动化脚本之Perl文本操作
- 为什么<img>标签下面有空白
- QTP之VBS字符串类型函数
- 2014-5-22 killer
- Leetcood解题索引
- UVa 624 CD (DP 01背包)
- 安装sqlserver2008,重新启动计算机不通过的解决办法
- NSOperation 和 NSOperationQueue
- vs 2012 so beatiful