新工作开始了,这几天都没做事情,一直是熟悉公司的工作流程,比较麻烦,光弄机器就弄了2天多,又是工作机,又是开发机,这权限那权限的,麻烦死了,以前在原来的公司的时候做什么都得心应手,现在刚到新的环境,很是无奈,什么都不会,问别人吧,别人也说不清楚,主管也是有一句没一句给我指点一下,好麻烦呀。
周五看了一天的脚本,学习了一点以前没有用过的命令和perl编程的方法,感觉挺好的,自己是想不出来要那样做,借鉴借鉴也挺好。
(1)date 命令经常用,但是从来都没用过-d选项,原来-d选项能使有些问题变得很简单。
small@small-desktop:/data$ date +%F" "%H 2010-01-10 14 small@small-desktop:/data$ date -d "1 hour" +%F" "%H 2010-01-10 15 small@small-desktop:/data$ date -d "1 hour ago" +%F" "%H 2010-01-10 13
|
small@small-desktop:/data$ date -d "2009-12-23 15:00" +%F" "%H 2009-12-23 15 small@small-desktop:/data$ date -d "2009-12-23 15:00 1 hour" +%F" "%H 2009-12-23 16 small@small-desktop:/data$ date -d "2009-12-23 15:00 1 hour ago" +%F" "%H 2009-12-23 14 small@small-desktop:/data$ date -d "2009-12-23 15:00 1 day" +%F" "%H 2009-12-24 15 small@small-desktop:/data$ date -d "2009-12-23 15:00 1 day ago" +%F" "%H 2009-12-22 15 small@small-desktop:/data$ date -d "2009-12-23 15:00 2 day ago" +%F" "%H 2009-12-21 15 small@small-desktop:/data$ date -d "2009-12-23 15:00 2 days ago" +%F" "%H 2009-12-21 15
|
(2)zcat,zgrep
使用gzip压缩的文件可以使用zcat,zgrep查看或搜索
(3)eval
#!/usr/bin/perl -w
sub printhello { my $str=shift; print "$str\n"; }
my $str="printhello(\"abc\")"; eval $str;
|
eval先扫描串,做替换,然后执行命令。把所有的函数和参数 都写道一个数组里面然后用eval,一条语句调用代替了若干个函数的调用,书写简洁,但是不利于阅读理解。
(4)localtime,timelocal
#!/usr/bin/perl -w
use Time::Local; my $num=timelocal(localtime((stat("b.gz"))[9])); print $num,"\n";
my ($sec,$min,$hour,$day,$mon,$year)=localtime((stat("b.gz"))[9]); $year=$year+1900; print "$sec $min $hour $day $mon $year\n"; my $num1=timelocal($sec,$min,$hour,$day,$mon,$year); print $num1,"\n";
small@small-desktop:/data$ ./time_test.pl 1263104098 58 14 14 10 0 2010 1263104098
|
阅读(588) | 评论(0) | 转发(0) |