perl脚本chmop
① perl脚本中的chomp函数,我有疑问
不是所有的到加chomp,当要去掉换行符号才加.
一般在数据处理时候加.
② perl脚本中怎么样执行linux命令
Linux下perl文件的执行
#! /usr/bin/perl
第一个“#”表示是这一行是注释
第二个“!”表示这一行不是普通注释,而是解释器路径的声明行
后面的“/usr/bin/perl”是perl解释器的安装路径,也有可能是:“/usr/local/bin/perl”,如果那个不行,就换这个。
这样修改后,文件就是这个模样:
#!/usr/bin/perl
#test.pl
print "test message! \n";
然后,给文件加上可执行的属性:
$ chmod 755 test.pl 或者 $ chmod +x test.pl
这两个命令用哪一个都可以。
现在执行吧: $ ./test.pl
③ ubuntu下怎么运行perl
perl有两种运行方式,比较常用的是以脚本的形式,还有一种就是在命令行下直接运行。
先说脚本形式
如果不会vi的话,你可以用图形界面的文本编辑器,在ubuntu下新建一个文本文件,以pl作为后缀,这样打开就可以以perl的形式高亮显示了。然后在里面输入perl脚本程序,保存,chmod u+x test.pl,这样可以使其成为可执行文件,在命令行下直接./test.pl就可以运行了。
要是想在命令行下直接运行perl语句,可以如下
例如 perl -e 'print "hello, world";'
打印hello,world
-e指示后面跟着的是perl语句。
你最好还是先找本入门的书系统的看看,自己摸索入门比较慢!
④ perl 、shell、python三种脚本语言那种好学、易用
perl、shell、python三种脚本语言的区别:
1、适用不同:shell是操作linux的基本,是必须学的。学shell就是学linux命令。perl有强大的正则表达式支持,对于文本处理非常强悍,玩linux不得不学。python作用一种面向对象的,能作为linux脚本的语言,学好之后能帮你很好地完成工作。
2、特点不同:Perl是一种能完成任务的语言。从一开始,Perl就设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。它可以很容易操作数字,文本,文件和目录,计算机和网络,特别是程序的语言。
这种语言应该很容易运行外部的程序并且扫描这些程序的输出获取感兴趣的东西。而且它还应该很容易能把这些你感兴趣的东西交给其它程序做特殊的处理。当然,这种语言还应该很容易在任何现代的操作系统上可以移植地编译和运行。

shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shellscript(非交互)方式执行。
shellscript是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shellscript是命令行命令简单的组合到一个文件里面。Shell基本上是一个命令解释器,类似于DOS下的command.com。
它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourneshell(sh)和Cshell(csh)。
Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格,Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
3、优点不同:perl,用作文本处理比较好,可以作为系统的辅助工具。shell,用作系统维护、操作等方面。python,功能强大,模块多、跨平台能力好,完全面向对象,尤其适用做大型脚本程序的开发和快速开发。
(4)perl脚本chmop扩展阅读:
erl比shell+sed+awk更强大,但学习两者并不冲突,通常是学习shell做为脚本编程的入门基础。而Python在应用领域则与前两者有很大的差别,无太大的可比性。面向不同的任务,可以只需用到其中的一种,也可能三种都要用到,所以究竟该学谁不学谁,需要由面对的任务来决定。
总之,shell是基础,其他是进阶辅助。
Shell脚本通常都是以.sh为后缀名的,这个并不是说不带.sh这个脚本就不能执行,只是大家的一个习惯而已。所以,以后你发现了.sh为后缀的文件那么它一定会是一个shell脚本了。
test.sh中第一行一定是“#!/bin/bash”它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行。’#’表示注释。后面跟一些该脚本的相关注释内容以及作者和创建日期或者版本等等。
⑤ perl的文件chmod变为x后怎么还不能直接执行
楼主的意思是:perl cmd.pl?其实perl脚本跟python或者bash脚本一样,只需要在脚本第一行指定命令解释器即可,比如 #!/usr/bin/bash,换成perl脚本的话,那么就是#!/usr/bin/perl,只要指明perl路径,然后给perl脚本文件追加可执行权限(chmod u+x cmd.pl),那么之后该脚本的拥有者就可以通过 ./cmd.pl来执行.如果允许所有用户可以执行那么就修改权限(chmod a+x cmd.pl)另外perl脚本也不一定一pl结尾,这个只是为了用户区分方便而已,即便没有后缀也是一样的.希望楼主能够受到启发.
⑥ Day59-用Perl和Python脚本提取FASTA中最长转录本氨基酸序列
这段时间因为一些不可描述的文章被整顿了,所以没有做学习笔记。加上最近开学,乱七八糟的事情很多,目测要下个礼拜开始上课才能够回归正轨。
最近做了一个事情就是,注释出来的初始基因组pep文件会存在许多个转录本,很多冗余的氨基酸序列,我们需要去除这些冗余,取最长的那个转录本。
对于序列只有一行的很容易可以用 grep 办到,但是还是那个问题,fasta格式存在自动换行问题,所以我们最好还是写脚本提取最长转录本比较稳妥,这里分享一下所用的脚本。
原数据格式基本如下:
我写的Perl脚本修改了原文件格式和顺序(哈希表的 sort 真是个谜),以后有时间我会考虑一下如何保留所有原格式输出,暂时将就着用吧。
另外同学依据我的需求也写了一个对应功能的Python脚本,不得不承认Python v3.0的字典在保留原顺序输出方面的能力就很强,这个脚本几乎对原文件没有改动,很实用。有时间的话会对它进行全方位的注释学习,希望自己能在Python脚本书写能力上有所进步【狗头苦笑】!
⑦ perl 正则表达式替换产生不换行
第一:chmop;这个做了处理,所以换行符没了;
第二:约定俗成。
⑧ 求助perl程序
usestrict;
openINPUT,"<TestSample.txt"ordie"NoInputFile";#要处理的文件
openOUTPUT,">TestResult.txt"ordie"CannotopenTestResult.txt";#处理之后的结果文件
my$lastline;#用来保存上一行
while(<INPUT>)#逐行读入
{
(printOUTPUT$lastline)if(/^E012.+?200$/);#符合条件的,保存上一行在结果文件中.
$lastline=$1." "if(/E012(.+)$/);
}
closeINPUT;
closeOUTPUT;
⑨ perl 执行 perl 脚本
\x10 是二进制16,应该是你多了个字或是windows下直接复制到unix/linux下造成的。
