linux - [Solved-5 Solutions] How to find all files containing specific text on Linux ? - ubuntu - red hat - debian - linux server - linux pc
Linux - Problem :
How to find all files containing specific text on Linux ?
Linux - Solution 1:
- -r or -R is recursive,
- -n is line number, and
- -w stands for match the whole word.
- -l (lower-case L) can be added to just give the file name of matching files.
Along with these, --exclude, --include, --exclude-dir or --include-dir flags could be used for efficient searching:
- This will only search through those files which have .c or .h extensions:
This will exclude searching all the files ending with .o extension:
- Just like exclude files, it's possible to exclude/include directories through --exclude-dir and --include-dir parameter. For example, this will exclude the dirs dir1/, dir2/ and all of them matching *.dst/:
Linux - Solution 2:
You can use grep -ilR:
- i stands for ignore case (optional in your case).
- R stands for recursive.
- l stands for "show the file name, not the result itself".
- / stands for starting at the root of your machine.
Linux - Solution 3:
It is like grep for source code. You can scan your entire file system with it.
In your root directory.
You can also use regular expressions, specify the filetype, etc.
Linux - Solution 4:
You can use:
- The r stands for recursive and so will search in the path specified and also its sub-directories. This will tell you the file name as well as print out the line in the file where the string appears.
Or a command similar to the one you are trying (example: ) for searching in all javascript files (*.js):
This will print the lines in the files where the text appears, but it does not print the file name.
Linux - Solution 5:
Use this: