Using the find command in bash

Using the find command in bash

Find all files below the current directory that match “tecmint.txt”

find . -name tecmint.txt

Find all files below the current directory that start with “filena”

 find . -name "filena*"

Find files with a name, ignoring case

# find . -iname "FileName.txt"

Find directories in “/” with name “Dirname”

# find / -type d -name Dirname

Find all files of type “txt”

find . -type f -name "*.txt"

Exclude directories

find . -not \( -path ./miniconda3 -prune \) -name \*.py -print

External Resources

Find and Replace with find and sed

find . -type f -name "*.md" -print0 | xargs -0 sed -i 's/foo/bar/g'

Find text in a certain file type

Find links in markdown files ending in .mp4

find . -iname "*.md" -exec grep -l '.mp4)' {} \+ 

Find “video_source” keys in yaml files ending in .yaml

find . -iname "*.yaml" -exec grep -l 'video_source:' {} \+ 

excluding directories

find . -not \( -path ./miniconda3 -prune \) -name \*.py -print  -exec grep -l 'html' {} \+ 

excluding multiple directoreis find . -type d ( -path ./miniconda3 -o -path ./.atom -o -path ./code_external -o -path ./websites -o -path ./.arduino15 ) -prune -o -name ‘*.py’ -exec grep -l ‘html’ {} +