in reply to Re^2: Finding pattern in a file
in thread Finding pattern in a file
Here's one way (snicker).
It shows the location of each occurrence, even if they are overlapping.
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11115501 use warnings; $_ = do { local $/; <DATA> }; # or however you want to read the file my $pattern = 'CDECGKEFSQGAHLQTHQKVH' =~ s/\B/\n?/gr; print lc($`) . $1 . lc(substr $', length $1) . "\n" while /(?=($patter +n))/g; __DATA__ >AAF88103.1 zinc finger protein 226 [Homo sapiens] MNMFKEAVTFKDVAVAFTEEELGLLGPAXRKLYRDVMVENFRNLLSVGHPPFKQDVSPIERNEQLWIMTT ATRRQGNLGEKNQSKLITVQDRESEEELSCWQIWQQIANDLTRCQDSMINNSQCHKQGDFPYQVGTELSI QISEDENYIVNKADGPNNTGNPEFPILRTQDSWRKTFLTESQRLNRDQQISIKNKLCQCKKGVDPIGWIS HHDGHRVHKSEKSYRPNDYEKDNMKILTFDHNSMIHTGQKSYQCNECKKPFSDLSSFDLHQQLQSGEKSL TCVERGKGFCYSPVLPVHQKVHVGEKLKCDECGKEFSQGAHLQTHQKVHVIEKPYKCKQCGKGFSRRSAL NVHCKVHTAEKPYNCEECGRAFSQASHLQDHQRLHTGEKPFKCDACGKSFSRNSHLQSHQRVHTGEKPYK CEECGKGFICSSNLYIHQRVHTGEKPYKCEECGKGFSRPSSLQAHQGVHTGEKSYICTVCGKGFTLSSNL QAHQRVHTGEKPYKCNECGKSFRRNSHYQVHLVVHTGEKPYKCEICGKGFSQSSYLQIHQKAHSIEKPFK CEECGQGFNQSSRLQIHQLIHTGEKPYKCEECGKGFSRRADLKIHCRIHTGEKPYNCEECGKVFRQASNL LAHQRVHSGEKPFKCEECGKSFGRSAHLQAHQKVHTGDKPYKCDECGKGFKWSLNLDMHQRVHTGEKPYK CGECGKYFSQASSLQLHQSVHTGEKPYKCDVCGKVFSRSSQLQSHQRVHTGEKPYKCEICGKSFSWRSNL TVHHRIHVGDKSYKSNRGGKNIRESTQEKKSIK. AAAAAAAAAAAAAACDECGKEFSQ GAHLQTHQKVHZZZZZZZZZZZ
|
|---|