相关文章推荐
另类的勺子  ·  Stable ...·  2 月前    · 
求醉的杯子  ·  Android ...·  1 年前    · 

脚本命名change.pl,采用传参的方式:

#!/usr/bin/perl
open(DATA,"<$ARGV[0]") or die "FAILED: Cant open file!!!";
open(NDATA,"+>out.txt");
while(<DATA>){
    chomp;
    print NDATA $_;
close(DATA);
close(NDATA);

修改脚本权限,添加可执行权限

chmod +x change.pl

运行方式:

./change.pl infile.txt

很简单的脚本,没什么说的,需要注意的就是chomp去掉每行结尾的回车。
支持的点个赞~ 谢谢~~

读入文件每一行合并成一行并输出到另一个文件infile.txt文件内容如下:12345脚本命名change.pl,采用传参的方式:#!/usr/bin/perlopen(DATA,"&lt;$ARGV[0]") or die "FAILED: Cant open file!!!";open(NDATA,"+&gt;out.txt");while(&lt;DATA&gt;){ chomp; print NDATA $_;}close(DATA);close(NDA
转载地址:http://blog.csdn.net/omohe/article/details/1562515 使用Perl文件中读取字符串,一般有两种方法: 1. 一次性将文件中的所有内容读入一个数组中(该方法适合小文件): open(FILE,"filename")||die"can not open the file: $!"; @filelist=FILE>;
阅读HTML版本: 这是一个文档项目,通过示例脚本和逐行说明来介绍Perl 模块。 该项目的功能之一是,您可以使用它来尝试不同的XPath表达式,并查看XML文档的哪些部分是匹配的。 举例说明的Perl XML :: LibXML已获得。
有的时候,很多fasta文件是这个样子的: 但是,有些软件或者程序只能是一行id,一行序列的读取。这就要求我们需要将上述格式序列多行转一行。下面这段代码可以解决上述问题。 #!/usr/bin/perl use strict; use warnings; my $id; my $seq; open IN,"$ARGV[0]" or die "Can't open fasta file!"; local $/ = ">"; <IN>;##第一个">"过掉 while (<I
$ perl -nle 'print uc' file.log $ perl -ple '$_ = uc' file.log $ perl -nle 'print "\U$_"' file.log # 转小写 $ perl -nle 'print lc' file.log $ per...
Usage: perl [switches] [--] [programfile] [arguments] -0[octal] specify record separator (\0, if no argument) -a ...
在处理文本时,常常遇到这样的情况:就是我们需要把两行文本做一个比较,然后选择性输出。而在while(){do something}程序块中默认只能一次读取一行。笔者在这里,举一个简单的例子来说明怎么处理这种情况。 有一个这样一段文本: a 1 2 3 4 a 5 6 7 8 a 6 7 8 9 a 7 8 9 11 a 7 8 9 12 a 13 12 14 15 a 18 14
问题:合并两个列表(hash)一个大的列表(hash) 验证思路:通过使用scalar获取数组中元素的个数来判断是组一个一维的数组(hash)还是二维的数组(hash) my @array1 = (1,2,3); my @array2 = ('a','b','c'); my @array3 = [@array1,@array...
使用perl一行一行读入文件的方法大家都很清楚,可以使用$line=;读入一行或者@lines=;把每行读入一个数组中。 可以通过重定义分隔符$/来完一次性读入: open FILE,"1.txt" or die $!; local $/=undef;
for my $i (1..50) { my $filename = "file_$i.txt"; open my $fh, '<', $filename or die "Cannot open file $filename: $!"; my @lines = <$fh>; close $fh; foreach my $line (@lines) { $line =~ s/zzc/zkxc/g; open my $fh_out, '>', $filename or die "Cannot write to file $filename: $!"; print $fh_out @lines; close $fh_out; 这个代码会在当前目录下创建名为 "file_1.txt" 到 "file_50.txt" 的文件,并将这些文件中的 "zzc" 字符串替换为 "zkxc",然后写回到相应的文件中。如果文件不存在或无法读写,则会抛出相应的错误信息。