Java Program to Implement the Program Used in grep/egrep/fgrep

This is a java program to implement grep linux command.

Here is the source code of the Java Program to Implement the Program Used in grep/egrep/fgrep. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

package com.maixuanviet.setandstring;
 
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class GrepCommandImplementation
{
    public static void main(String[] argv) throws Exception
    {
        Scanner sc = new Scanner(System.in);
        System.out
                .println("Enter the string to match from GrepCommandImplementation.java file: ");
        Pattern pattern = Pattern.compile(sc.next());
        Matcher matcher = pattern.matcher("");
        String file = "src/com/sanfoundry/setandstring/GrepCommandImplementation.java";
        BufferedReader br = null;
        String line;
        try
        {
            br = new BufferedReader(new FileReader(file));
        }
        catch (IOException e)
        {
            System.err.println("Cannot read '" + file + "': " + e.getMessage());
        }
        while ((line = br.readLine()) != null)
        {
            matcher.reset(line);
            if (matcher.find())
            {
                System.out.println(file + ": " + line);
            }
        }
        br.close();
        sc.close();
    }
}

Output:

$ javac GrepCommandImplementation.java
$ java GrepCommandImplementation
 
Enter the string to match from GrepCommandImplementation.java file: 
println
src/com/sanfoundry/setandstring/GrepCommandImplementation.java:                 .println("Enter the string to match from GrepCommandImplementation.java file: ");
src/com/sanfoundry/setandstring/GrepCommandImplementation.java:             System.err.println("Cannot read '" + file + "': " + e.getMessage());
src/com/sanfoundry/setandstring/GrepCommandImplementation.java:                 System.out.println(file + ": " + line);