Perl one line

例子:

perl -e 'print "Hellow world" '# 输出Hello World!
perl -e 'for(1..10){print "$_ "}'# 输出1 2 3 4 5 6 7 8 9 10

-e 

是执行单行命令的必选参数,它告诉perl 你现在执行的是单行命令。

-n

表示直接按行遍历文件(也就是一行一行处理):

perl -e "while (<>){ ... }"# 等同于perl -ne " . . . "

-p

表示按行处理文件,并在处理之后打印处理的结果

-a

表示按照空格分割行并存储结果到默认数组@F,一般与 -ne 一起用,也可以与-F参数连用,重新定义分隔符。

perl -ane "print $F[2]"

-F

指定-a选项使用的分隔符,支持正则

perl -F'###' -ane '...'

-l

表示对所有输入的命令进行chomp,即去除\n;

同时,对所有输出数据自动加上\n

-i

启动原文编辑功能:这一点可以代替sed 操作命令

#将原文件所有小写转换成大写perl -i -pe 'tr/a-z/A-Z/'# 按指定后缀备份原文件,并修改原文件perl -i.bak -pe 'tr/a-z/A-Z/'

-0 【数值】

指定换行符记号($/变量),用8进制表示,默认为换行

-00      |   段落模式,即以连续换行为分隔符
-0777   |  禁用分隔符,一次读入整个文件
-0076   |  对应分隔符为'>',Fasta

-M

使用模块,-M可以判断某个模块是不是已经安装了。

-m 的功能和-M类似,区别在于-M 模块名==use 模块名,这样会把一些默认的函数或者其它东西引进过来,-m 模块名 则会关闭这些默认值,这样可以引入一些你只使用的函数;例子:
换成-m的话就不会有任何输出;-m 和 -M 通过 = 来引入某个模块的特别函数.

perl -MLWP::Simple -e'print head "http://www.chinacache.com","\n"'

提取某个fasta的记录

perl -0076 -ane 'print ">$_" if $F[0] eq "gene_id"' out.fa

查看前10行 # 必须注意,几乎所有perl命令可以在任何操作系

统切换,linux mac windows

perl -pe 'exit if $.>10'

Perl语言的中心思想:There‘s More Than One Way To Do It(不只一种方法来做一件事)

(0)

相关推荐