perl grep(perl 判断数组里面是否含有某个元素)

:暂无数据 2026-08-07 02:20:12 :1

perl grep(perl 判断数组里面是否含有某个元素)

大家好,perl grep相信很多的网友都不是很明白,包括perl 判断数组里面是否含有某个元素也是一样,不过没有关系,接下来就来为大家分享关于perl grep和perl 判断数组里面是否含有某个元素的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

perl 判断数组里面是否含有某个元素

用 grep

$target = "def";
print "Found $target" if ( grep ($target , @x) ) ; #Found def

如何利用perl命令行, 来执行正则表达式,寻找匹配的行

楼上的是找出其中之一呀,楼主要的是同时包含两个句子。
可以这样
perl -n -e ’print if ($_ =~/Barney/ && $_ =~ /Fred/)’ test.txt 》new.txt
其实这样的实现用awk命令这些很好用。楼主可以学习学习awk sed grep 等命令。
我补充个实例吧。
awk ’{if (/Barney/ && /Fred/) print }’ test.txt 》 new.txt
more test.txt | grep Barney | grep Fred 》new.txt (这个管道用着很有意思)
都测试了一下,可行

perl如何判断一个变量已经包含在一个数组中

可以试一下这几种方式,每种方式各有优劣:
#!/bin/perl -w
use strict;
my @arr = ( "aaa","bbb","ccc","ddd","eee","fff"); # 这个是数组
my $vv = "ddd"; # 这个是要查找的变量
# 方法1,:使用类似c语言的风格,遍历这个数组,查找变量是否匹配。
foreach ( @arr)
{
if( $vv eq $_ )
{
print "$vv\n"
}
}
#方法2:使用map,查找数组中是否含有该变量
map { if($vv eq $_) { print "$vv\n"} } @arr;
#方法3:使用grep,查找数组中是否含有该变量
print( grep /^$vv$/, @arr );
以上3中方式的编码均已经测试过了,能够得到正确答案。如果LZ初学,可以使用方法1中的类似C语言的循环风格 ……

提取文本中两匹配行间内容(非贪婪)使用awk,sed,grep或perl

shell很方便
start=0
while read line
do
if ;then
start=1
continue
fi
if ;then
start=0
continue
fi
if ;then
echo $line
fi
done《file

Perl单行(Perl One-Liners)命令

个人博客原文地址

常用 perl -F, -alne :自动以,为分割符号,保存到数组@F中,循环读取每行并去除末位\n符号。

对每行文件加空行:

去除空行:

仅对非空行计数,并显示行号:

输出 匹配到pattern的行,并显示行号:

输出匹配到pattern行的下面的一行:

输出匹配到/AAA/和/BBB/的行:

输出第13行、或除了第13行;输出第13、19、50行;输出13~40行

输出START和END之间的行if/unless:

仅输出奇数行、偶数行:

仅输出文件中重复的行 :

去重复行,仅输出第一次出现的行 :

输出第一列数字相加之和:

输出时间:

输出从5~15当中的10个随机数字

输出a到zz所有字母(..的使用)

输出指定长度的字符(x为重复)

输出从1~100的质数(grep用法)

自动转换大小写字符 \u \L

去除每行开头、结尾的空格内容 s///g

反向输出 数组的内容

批量根据id提取序列

FastQ文件转为FastaA文件

perl 日期合法检查

#!usr/bin/perl
use strict;
my $datachar;
if(!defined($ARGV))
{
$datachar = "20110229";
#print "$datachar\n";

}
else{
$datachar = $ARGV;
#print "$datachar\n";
}
my $_=$datachar;
my $count =s/(-)/$1/ig, "\n";# i是不区分大小写 g是替换全部,统计字符串-字符的个数
my $position1 = index($datachar,"-",1);#4
my $position2 = index($datachar,"-",5);#7
my $len=length($datachar);
my @data;
my $year;
my $month;
my $day;
my @m=(’01’,’02’,’03’,’04’,’05’,’06’,’07’,’08’,’09’,’10’,’11’,’12’);
my @m1=(’01’,’03’,’05’,’07’,’08’,’10’,’12’);
my @m2=(’04’,’06’,’09’,’11’);
my @m3=(’02’);
#print "$len";
if($datachar =~/-/ and $len == 10 and $count == 2 and $position1 == 4 and $position2 == 7)
{ if ($datachar =~ m//) #判断字符包含非数字但-字符除外
{print "10个字符的日期值不正确";
exit;} else {
#print "1\n";
@data=split(/-/,$datachar);
$year =$data;
$month=$data;
$day =$data;
#print "$year\n";
}
}elsif($datachar !~/-/ and $len == 8)
{ if ($datachar =~ m//) #判断字符是否包含非数字字符
{print "8个字符的日期值不正确\n";
exit;} else {
#print "2\n";
$year =substr($datachar,0,4);
$month=substr($datachar,4,2);
$day =substr($datachar,6,2);
#print "$year\n";
#print "$month\n";
#print "$day\n";
}
}else {
print "$datachar 日期值不正确";
exit;
}
if (grep ({$month == $_ } @m))#判断值是否在数组中
{
#print "月份值正确";
}else {
print "月份值不正确\n";
exit;
}
if (grep ({$month == $_ } @m1) and ($day 》’31’ or $day《’01’))
{
print "大月份天值不正确\n";
exit;
}elsif (grep ({$month == $_ } @m2) and ($day 》’30’ or $day《’01’))
{
print "小月份天值不正确\n";
exit;
}elsif (grep ({$month == $_ } @m3) and (($year%4 == 0 and $year%100 != 0) or $year%400 == 0) and ($day》’29’ or $day《’01’))
{
print "闰年2月份的天数值不正确\n";
exit;
}
elsif (grep ({$month == $_ } @m3) and ($day》’28’ or $day《’01’))
{
print "平年2月份的天数值不正确\n";
exit;
}else
{
print "$datachar is right.\n";
}

windows系统,保存脚本名a.pl,若不输入参数,默认值是20110229,运行a.pl。也可以输入一个参数运行,a.pl 2015101。如果你想批量检查文本文件中的参数,相信楼主的能力可以加上一个循环。

如果你还想了解更多这方面的信息,记得收藏关注本站。

perl grep(perl 判断数组里面是否含有某个元素)

本文编辑:admin

更多文章:


withdrawal(withdrawal是什么意思)

withdrawal(withdrawal是什么意思)

今天给各位分享withdrawal是什么意思的知识,其中也会对withdrawal是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 07:00

根据流程图怎么编写程序(用c语言根据流程图写程序)

根据流程图怎么编写程序(用c语言根据流程图写程序)

大家好,今天小编来为大家解答以下的问题,关于根据流程图怎么编写程序,用c语言根据流程图写程序这个很多人还不知道,现在让我们一起来看看吧!

2026年10月11日 06:00

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

大家好,关于在from子句中可以出现很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何在from 子句中嵌套查询下面的语句在access中出错!的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望

2026年10月11日 05:20

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

其实countif函数统计个数怎么用的问题并不复杂,但是又很多的朋友都不太了解countif函数怎么用 详解Excel中countif函数的使用方法,因此呢,今天小编就来为大家分享countif函数统计个数怎么用的一些知识,希望可以帮助到大

2026年10月11日 03:30

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

本篇文章给大家谈谈正则匹配数字之前的字符,以及正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问

2026年10月11日 03:00

register语言学(register语言学)

register语言学(register语言学)

“register语言学”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看register语言学(register语言学)!

2026年10月11日 01:40

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

“系统架构设计师可以直接考吗”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)!

2026年10月11日 01:00

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

大家好,如果您还对orlnsertbootmediinselected不太了解,没有关系,今天就由本站为大家分享orlnsertbootmediinselected的知识,包括我电脑开机显示这个是什么意思or insert boot med

2026年10月10日 23:00

display的用法(display是什么意思 详解display的含义和用法)

display的用法(display是什么意思 详解display的含义和用法)

大家好,如果您还对display的用法不太了解,没有关系,今天就由本站为大家分享display的用法的知识,包括display是什么意思 详解display的含义和用法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月10日 22:00

html全部居中代码(怎么让网页居中显示,html如何让网页居中)

html全部居中代码(怎么让网页居中显示,html如何让网页居中)

大家好,今天小编来为大家解答以下的问题,关于html全部居中代码,怎么让网页居中显示,html如何让网页居中这个很多人还不知道,现在让我们一起来看看吧!

2026年10月10日 21:10

最近更新

西数5000aakx(西数WD-5000AAKX-001CAO和西数800AAJS-00WAAO哪个做安装系统盘比较好)
2026-10-11 08:30:05 浏览:0
热门文章

标签列表