02 2012 档案

each也能作用于数组
摘要:一直以为each只能作用于hash,其实也能用于数组,分别取下标及其对应的值。my @array = (0, 1, 2, 3, 4, 5, 6);while (my ($i, $v) = each @array) { print "$i: $v", "\n";}== 阅读全文

posted @ 2012-02-23 11:13 perlman 阅读(233) 评论(1) 推荐(0) 编辑

Sed one line
摘要:逆序输出文件内容,相当于Linux系统上的tac命令。但是SunOS上好像没有此命令。sed ‘1!G;h;$!d’ file分析:这里== 阅读全文

posted @ 2012-02-16 17:14 perlman 阅读(452) 评论(0) 推荐(0) 编辑

在SunOS上使用awk
摘要:Solaris 默认的awk是原汁原味的老awk没有rand.可以使用nawk代替nawk 'BEGIN{srand();k=rand();print k;}'或者使用/usr/xpg4/bin/awk 阅读全文

posted @ 2012-02-15 13:47 perlman 阅读(761) 评论(0) 推荐(0) 编辑

awk里面不要使用单引号
摘要:因为awk以单引号来界定命令,如下awk '/pattern/{action}' files...所以,在awk中就不要再使用''了,比如下面的代码是无法通过的。awk 'BEGIN { FS=':'; print "name, number, val1, val2, val3\n";}应该写成awk 'BEGIN { FS=":"; print "name, number, val1, val2, val3\n";} 阅读全文

posted @ 2012-02-15 10:17 perlman 阅读(1383) 评论(0) 推荐(0) 编辑

[转]Vim健位映射2
摘要:http://hi.baidu.com/dingguo815/blog/item/2fef0f26d70be7108b82a122.htmlVim 的键位映射真是无所不能,一直以为插入模式中不够普通模式的快捷键多,普通模式中,按“o”能在光标下插入一行行,按“dd”删除一整行……,而在插入模 式中没有这些快捷键,很多快捷命令一直都是按“Esc”返回普通模式使用后再切换来,很麻烦,能看过键位映射后,研究一阵,大呼过瘾!于是把一系列自定义 键位映射写到“_vimrc”中,现在Vim用起来真他妈的爽!!!Alt组合键不映射到菜单上set winaltkeys=no”在 键位映射中,Ctrl加字母是不 阅读全文

posted @ 2012-02-15 10:00 perlman 阅读(3575) 评论(0) 推荐(0) 编辑

awk例子(一)
摘要:处理文件一个文件data.dat内容如下abcxyzaaarstaaaaaa要求对重复出现的项进行计数,处理后如下。abcxyzaaa_001rstaaa_002aaa_003awk代码如下awk '/^aaa/{printf("%s_%03d\n", $0, ++i);next}{printf("%s\n", $0)}' data.dat分析一下/^aaa/{printf("%s_%03d\n", $0, ++i);next}这部分用来打印重复的项,注意不要忘记next.{printf("%s\n" 阅读全文

posted @ 2012-02-14 17:01 perlman 阅读(485) 评论(0) 推荐(0) 编辑

shell中常用的特殊符号
摘要:http://blog.chinaunix.net/space.php?uid=14647215&do=blog&cuid=482234在shell中常用的特殊符号罗列如下:# ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `command`{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & \<...\> + - %= == != 输出/输入重导向> >> & 阅读全文

posted @ 2012-02-14 11:32 perlman 阅读(2131) 评论(0) 推荐(0) 编辑

查看当前使用的shell
摘要:来自 http://rickie622.blog.163.com/blog/static/212388112011213407503/ps |grep $$|awk '{print $4}' (实时)不带参数的ps命令显示和当前终端有关的进程状况$$变量存储当前进程的PIDps第四列是进程所使用的命令,如果是Shell,那么显示shell名,比如sh/ksh等awk '{print $4}'就是只显示第四列的值PS:用echo $SHELL可以查看系统默认的shell查看当前发行版可以使用的shell[jack@localhost ~]$ cat /etc/sh 阅读全文

posted @ 2012-02-14 11:26 perlman 阅读(72084) 评论(0) 推荐(2) 编辑

Source命令
摘要:source命令用法:source FileName作用:在当前bash环境下读取并执行FileName中的命令。注:该命令通常用命令“.”来替代。如:source .bash_rc 与 . .bash_rc 是等效的。注意:source命令与shell scripts的区别是,source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。source命令(从 C Shell 而来)是b 阅读全文

posted @ 2012-02-13 15:52 perlman 阅读(22750) 评论(0) 推荐(5) 编辑

Shell语句可以直接写在命令行上
摘要:一般我们都是将Shell命令写在脚本里,其实可以直接写在terminal中执行,比如下面这个for循环。for i in `ls`; do echo "$i\n"; done== 阅读全文

posted @ 2012-02-13 11:16 perlman 阅读(4340) 评论(0) 推荐(0) 编辑

Perl使用chdir
摘要:代码如下use strict;use warnings;# Print all files in a directorysub print_files { my $dir = 'd:/code'; opendir DIR, $dir or die $!; my @files = readdir DIR; chdir $dir; # Use chdir or -f will not work, since -f need absolutely path foreach my $file (@files) { if (-f $file) { ... 阅读全文

posted @ 2012-02-13 11:11 perlman 阅读(3997) 评论(0) 推荐(0) 编辑

Shell让切换目录更方便
摘要:原文地址 http://www.cnblogs.com/zhengyuxin/articles/1933920.html让切换目录更方便: pushd,popd,dirs,cd -一,为何要使用这几个命令?可能大家会有疑问,为何要使用这几个命令,难道用cd不就可以切换目录了吗?没错,使用cd就可以切换到需要访问的目录,但是有时会是一个路径很长,层次很多的目录,进到此目录下后,这时我们不小心运行了 cd命令,理所当然,我们回到了自己的home目录,这时如果想回去怎么办?还有:因为工作的需要,我们需要不停在几个很深层的目录之间切换,不止一个,那么即使有tab键帮忙,我们也会因为一个cd命令花费很多 阅读全文

posted @ 2012-02-09 11:02 perlman 阅读(10831) 评论(1) 推荐(0) 编辑

常用文本处理方法
摘要:取指定行取第一行sed -n '1p' file-n表示禁止默认的输出,p表示print取前N行sed -n '1,np' file或者head -n 10 file取最后一行sed -n '$p' file$表示最后一行或者tail -1 file取最后N行tail -n file取指定行到最后一行比如一个perl脚本,取定义main函数开始的行一直到最后一行。/sub main/表示main函数所在的行,$表示最后一行。sed -n '/sub main/,$p' test.pl取第M至N行head -N file | tai 阅读全文

posted @ 2012-02-08 15:47 perlman 阅读(1113) 评论(0) 推荐(0) 编辑

Shell编程-变量
摘要:标量定义变量name=valuename是变量名,value是变量的值,比如name=zdd,注意,Shell定义变量的时候不需要加$,而使用变量的时候则需要加$,这点和perl是有区别的,perl定义变量的时候也需要$符号。定义变量的时候要注意以下几点。Shell中的变量只能由字母,数字和下划线组成,且不能以数字开头。如果变量值中含有空格,应该用引号(单引号双引号均可)括起,比如 "Hello world"或'Hello world'。等号左右都没有空格。使用变量访问一个变量的时候只要在其前面加一个$即可,比如echo $name,如果不加$,则显示变量的 阅读全文

posted @ 2012-02-08 14:56 perlman 阅读(15201) 评论(2) 推荐(1) 编辑

Shell调试篇
摘要:检查语法-n选项只做语法检查,而不执行脚本。sh -n script_name.sh启动调试sh -x script_name.sh进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带,如下。带加号表示该条语句是Shell执行的。不带加号表示该语句是Shell产生的输出。+ array=(1 2 3 4 5)+ for i in '${array[*]}'+ echo 11中断调试在调试过程中可以按Ctrl + Z中断调试,观察结果,然后再按fg键继续调试即可。调试代码块上面的-x选项是调试整个脚本的,如果脚本很大,会很不方便,还有一种方法是调试某一块 阅读全文

posted @ 2012-02-06 10:53 perlman 阅读(26743) 评论(0) 推荐(3) 编辑

find命令
摘要:查找当前目录下用户zdd创建的所有文件find . * -prune -user zdd. 表示当前目录* 表示所有文件-prune 表示只处理当前目录,不处理子目录。这种方法查找到的文件包含file和directory,如果只想显示file,不显示directory,可以使用-type参数。find . * -prune -user zdd -type f删除目录aaa下所有由用户xyz创建的文件方法一find ./aaa -user uuu -type f | xargs rm方法二find ./abc -user xyz -type f -exec rm {} \;方法三ls -l .. 阅读全文

posted @ 2012-02-02 12:38 perlman 阅读(716) 评论(0) 推荐(0) 编辑

Shell编程-awk
摘要:简介awk 是一种对立的编程语言,集成于所有UNIX/Linux中,这个名字是它创建者的名字首字母组成的 Alfred Aho,Peter Weinberger, and Brian Kernighan。awk的基本语法普通模式awk '/pattern/{action}' files其中patter是一个正则表达式,action又是一系列命令,对于满足匹配的文本执行一些动作,files表示待操作的文件,如果不指定,则输入是STDIN。如果不指定pattern,则对所有文件的每一行都执行action。表达式模式当在awk中使用比较操作符时,使用下面的语法模式,详见后面。awk 阅读全文

posted @ 2012-02-02 09:20 perlman 阅读(17054) 评论(0) 推荐(4) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示