First Grep

Published: April 2, 2026

Description

Can you find the flag in file? Something tells me there is a better way than printing the whole thing.

Download the file named 'file' from the challenge page.

Solution

  1. Step 1Search the file with grep
    Rather than printing the entire file, use grep to search for lines matching 'picoCTF'. grep scans the file line by line and prints only matching lines, making it instant even in very large files.
    grep "picoCTF" file
    Learn more

    grep (Global Regular Expression Print) is one of the most fundamental Unix command-line tools. It reads a file (or stdin) line by line and prints every line that matches a given pattern. The pattern can be a plain string, a basic regular expression (BRE), or an extended regular expression (ERE with grep -E or egrep).

    In CTF work, grep is used constantly. Common patterns include:

    • grep "picoCTF" file -- find the flag in a file
    • grep -r "password" . -- recursively search all files in a directory
    • grep -i "flag" file -- case-insensitive search
    • grep -a "picoCTF" binary -- treat binary file as text
    • strings binary | grep "picoCTF" -- combine with strings for binaries

    Performance-wise, grep is extremely fast because it uses highly optimized string matching algorithms (Boyer-Moore-Horspool, SIMD instructions in modern implementations). On a gigabyte-sized log file, grep can find your pattern in seconds while opening the file in a text editor might crash the system. This makes it invaluable for log analysis, forensics, and source code auditing in real security work.

    For more powerful searching in codebases, ripgrep (rg) is a modern alternative that is typically 5–10x faster than grep, respects .gitignore, and handles encoding edge cases better. Both tools accept the same basic pattern syntax.

Flag

picoCTF{...}

grep (Global Regular Expression Print) scans files line by line for pattern matches -- one of the most-used tools in CTF work.

More General Skills