Perl 如何在数据文件中查找特定的数字模式
我有一个像这样的数据文件Perl 如何在数据文件中查找特定的数字模式,perl,awk,grep,Perl,Awk,Grep,我有一个像这样的数据文件 15105021 15105043 15106013 15106024 15106035 15105024 15105042 15106015 15106021 15106034 我需要对序列号为1510603,1510504 我试过这个awk命令 awk /[1510603,1510504]/ soursefile.txt 但是它不起作用。根据文件的内容,以下内容就足够了 grep -E '^1510603|^1510
15105021
15105043
15106013
15106024
15106035
15105024
15105042
15106015
15106021
15106034
我需要对序列号为1510603
,1510504
我试过这个awk命令
awk /[1510603,1510504]/ soursefile.txt
但是它不起作用。根据文件的内容,以下内容就足够了
grep -E '^1510603|^1510504' file
如果您的版本不支持-E
标志,请尝试egrp
而不是grep
如果你坚持
根据文件的内容,以下内容就足够了
grep -E '^1510603|^1510504' file
如果您的版本不支持-E
标志,请尝试egrp
而不是grep
如果你坚持
我认为这是可行的:
egrep '1510603|1510504' source
我认为这是可行的:
egrep '1510603|1510504' source
您的问题陈述得很糟糕,但如果您想打印文件中以
1510603
或1510504
开头的所有数字,则可以用Perl编写
perl -ne 'print if /^1510(?:603|504)/' sourcefile.txt
您的问题陈述得很糟糕,但如果您想打印文件中以
1510603
或1510504
开头的所有数字,则可以用Perl编写
perl -ne 'print if /^1510(?:603|504)/' sourcefile.txt
较短的
awk
awk '/1510603|1510504/' file
较短的
awk
awk '/1510603|1510504/' file
在LHS上使用egrep和字边界,因为OP希望匹配RHS上的所有匹配数字:
egrep '\b(1510603|1510504)' file
15105043
15106035
15105042
15106034
在LHS上使用egrep和字边界,因为OP希望匹配RHS上的所有匹配数字:
egrep '\b(1510603|1510504)' file
15105043
15106035
15105042
15106034
您假设数字在行首,但OP没有说明这一点。您假设数字在行首,但OP没有说明这一点。
/[15106031510504]/
可以简化为/[013456]/
即,它在该行的任何位置查找包含字符类中任何一个字符的任何行。您是否试图查找介于1510504
和1510603
之间的数字,或者以这些值或其他值开头或结尾的数字?请澄清并发布预期输出。/[15106031510504]/
可简化为/[013456]/
即,它在该行的任何位置查找包含字符类中任何一个字符的任何行。您是否试图查找介于1510504
和1510603
之间的数字,或者以这些值或其他值开头或结尾的数字?请澄清并公布预期的结果。或者更简洁地用AwkAwk'/^1510(603 | 504)/'sourcefile.txt(603 | 504)/'sourcefile.txt
我想知道是否有机会让落选的选民解释自己?或者更简洁地用AwkAwk'/^1510(603 | 504)/'sourcefile.txt
我想知道是否有可能被否决的投票人会自我解释?它是否匹配像91510603
这样的数字?这是正确的,它是OP要求的,一个序列号。它是否匹配像91510603
这样的数字?这是正确的,它是OP要求的,一个序列号。