Grep Mastery: URLs, Credit Cards, and IPs
Discover the art of efficient pattern matching using grep for URLs, credit cards, and IP addresses with detailed examples and use cases.
URL Matching
Basic grep to match HTTP URLs
grep -Eo 'http://[^ ]+' filename
Basic grep to match HTTPS URLs
grep -Eo 'https://[^ ]+' filename
Basic grep to match FTP URLs
grep -Eo 'ftp://[^ ]+' filename
Grep with case-insensitive matching for HTTP or HTTPS URLs
grep -Eio 'https?://[^ ]+' filename
Grep with word boundaries to match HTTP, HTTPS, or FTP URLs
grep -Eo '\b(https?|ftp)://[^ ]+\b' filename
Grep to match URLs starting with HTTP, HTTPS, or FTP
grep -Eo '^(http|https|ftp)://[^ ]+' filename
Grep with line numbers for HTTP or HTTPS URLs
grep -Eno 'https?://[^ ]+' filename
Grep with inverted match to exclude HTTP, HTTPS, or FTP URLs
grep -vE '(http|https|ftp)://[^ ]+' filename
Grep to match URLs containing specific domain names (example: google.com)
grep -Eo 'https?://[^ ]+google\.com[^ ]*' filename
Grep to match URLs with query parameters (example: ?key=value)
grep -Eo 'https?://[^ ]+\?[^ ]+' filename
Basic grep to match HTTP URLs within href attributes
grep -Eo 'href="http://[^"]+' filename
Basic grep to match HTTPS URLs within href attributes
grep -Eo 'href="https://[^"]+' filename
Basic grep to match FTP URLs within href attributes
grep -Eo 'href="ftp://[^"]+' filename
Grep with case-insensitive matching for HTTP or HTTPS URLs within href attributes
grep -Eio 'href="https?://[^"]+' filename
Grep with word boundaries to match HTTP, HTTPS, or FTP URLs within href attributes
grep -Eo 'href="\b(https?|ftp)://[^"]+\b' filename
Grep to match URLs starting with HTTP, HTTPS, or FTP within href attributes
grep -Eo 'href="^(http|https|ftp)://[^"]+' filename
Grep with line numbers for HTTP or HTTPS URLs within href attributes
grep -Eno 'href="https?://[^"]+' filename
Grep with inverted match to exclude HTTP, HTTPS, or FTP URLs within href attributes
grep -vE 'href="(http|https|ftp)://[^"]+' filename
Grep to match URLs containing specific domain names within href attributes (example: google.com)
grep -Eo 'href="https?://[^"]+google\.com[^"]*' filename
Grep to match URLs with query parameters within href attributes (example: ?key=value)
grep -Eo 'href="https?://[^"]+\?[^"]+' filename
Credit Card Matching
Amex Card
grep -Eo '^3[47][0-9]{13}$' filename
BCGlobal
grep -Eo '^(6541|6556)[0-9]{12}$' filename
Carte Blanche Card
grep -Eo '^389[0-9]{11}$' filename
Diners Club Card
grep -Eo '^3(?:0[0-5]|[68][0-9])[0-9]{11}$' filename
Discover Card
grep -Eo '^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})$' filename
Insta Payment Card
grep -Eo '^63[7-9][0-9]{13}$' filename
JCB Card
grep -Eo '^(?:2131|1800|35\d{3})\d{11}$' filename
KoreanLocalCard
grep -Eo '^9[0-9]{15}$' filename
Laser Card
grep -Eo '^(6304|6706|6709|6771)[0-9]{12,15}$' filename
Maestro Card
grep -Eo '^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$' filename
Mastercard
grep -Eo '^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$' filename
Solo Card
grep -Eo '^(6334|6767)[0-9]{12}|(6334|6767)[0-9]{14}|(6334|6767)[0-9]{15}$' filename
Switch Card
grep -Eo '^(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9]{14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0-9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}$' filename
Union Pay Card
grep -Eo '^(62[0-9]{14,17})$' filename
Visa Card
grep -Eo '^4[0-9]{12}(?:[0-9]{3})?$' filename
Visa Master Card
grep -Eo '^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})$' filename
IP Address Matching
Basic grep to match IPv4 addresses
grep -Eo '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' filename
Grep to match IPv4 addresses with octet ranges (0-255)
grep -Eo '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b' filename
Grep to match IPv4 addresses with CIDR notation
grep -Eo '\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}/([0-9]|[1-2][0-9]|3[0-2])\b' filename
Basic grep to match IPv6 addresses
grep -Eo '\b([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b' filename
Grep to match IPv6 addresses with full notation (including zeros)
grep -Eo '\b([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b' filename
Grep to match IPv6 addresses with collapsed notation (compressing consecutive zeros)
grep -Eo '\b(([0-9a-fA-F]{1,4}:){1,6}|::([0-9a-fA-F]{1,4}:){0,5}|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){0,4}|([0-9a-fA-F]{1,4}(:|$)){1,7})\b' filename
Social Security Number Matching
Grep to match Swedish social security numbers (12 characters, format: yyyymmdd-xxxx)
grep -Eo '\b[0-9]{8}-[0-9]{4}\b' filename
Grep to match Swedish social security numbers (10 characters, format: yymmdd-xxxx)
grep -Eo '\b[0-9]{6}-[0-9]{4}\b' filename
Grep to match Russian social security numbers (format: xxx-xxx-xxx xx)
grep -Eo '\b[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}\b' filename
Grep to match Russian social security numbers (format: xxxxxxxxx)
grep -Eo '\b[0-9]{10}\b' filename
Grep to match USA social security numbers (format: xxx-xx-xxxx)
grep -Eo '\b[0-9]{3}-[0-9]{2}-[0-9]{4}\b' filename
Grep to match USA social security numbers (format: xxxxxxxxx)
grep -Eo '\b[0-9]{9}\b' filename
Vehicle Registration Number Matching
Grep to match Swedish vehicle registration numbers (format: ABC-123)
grep -Eo '\b[A-Z]{3}-[A-Z]{3}\b' filename
Grep to match Russian vehicle registration numbers (format: A 999 AA 77)
grep -Eo '\b[A-Z]\s[0-9]{3}\s[A-Z]{2}\s[0-9]{2}\b' filename
Grep to match United States vehicle registration numbers (format: AAA 9999)
grep -Eo '\b[A-Z]{3}\s[0-9]{4}\b' filename
MAC Address Matching
Grep to match MAC addresses in the format XX:XX:XX:XX:XX:XX
grep -Eo '\b([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})\b' filename
IMSI Number Matching
Grep to match IMSI numbers (International Mobile Subscriber Identity) in the format MCCMNC-MSIN
grep -Eo '\b\d{3}\d{2}-\d{6,10}\b' filename
IMEI Number Matching
Grep to match IMEI numbers (International Mobile Equipment Identity) in the format AA-BBBBBB-CCCCCC-D
grep -Eo '\b\d{2}-\d{6}-\d{6}-\d\b' filename
Scene Release Matching
Grep to match scene release names in the format GROUP.TITLE.RELEASE
grep -Eo '\b[A-Za-z0-9]+(\.[A-Za-z0-9]+){2}\b' filename
Timestamp and Datestamp Matching
Grep to match timestamps in the format HH:MM:SS
grep -Eo '\b([01]\d|2[0-3]):([0-5]\d):([0-5]\d)\b' filename
Grep to match datestamps in the format YYYY-MM-DD
grep -Eo '\b\d{4}-\d{2}-\d{2}\b' filename
Logging Patterns in dmesg
Grep to match error messages in dmesg logs
grep -Ei 'error' filename
Grep to match normal messages in dmesg logs
grep -Ei 'normal' filename
Grep to match info messages in dmesg logs
grep -Ei 'info' filename
Grep to match debugging messages in dmesg logs
grep -Ei 'debug' filename