Page tree
Skip to end of metadata
Go to start of metadata

General Search

Ubuntu has mlocate but on other systems you will need to use find (which also will work on Ubuntu too),

find [folder] -name [filename] -print # find a file
find [folder] -size +51024 -print     # where 51024 is in Kilobytes which is approximately 5MB

Search Inside of Multiple Files

Also works in Solaris and Unix in general. Make sure to add trailing slash to [folder]. For example, "/opt/confluence/"

find [folder] -type f | xargs -I{} grep -li "text" {}

find [folder] -type f                  # search the specified folder for all files, returns full path of each file
    | xargs -I{} grep -li "[text]" {} # piped into xargs to grep for all files containing specified text ignoring case

Replace

Search and Replace Single File using sed

See dedicated section on sed.

Search & Replace Inside of Multiple Files Across Folders

The key is using xargs. Used Perl this here bue can easily be replaced with sed,

find [folder] -type f | xargs -I{} grep -li "text" {} | xargs perl -pi -e 's/[text_to_search_for]/[text_to_search_for]/g'

find [folder] -type f                 # search the specified folder for all files, returns full path of each file
    | xargs -I{} grep -li "[text]" {} # piped into xargs to grep for all files containing specified text ignoring case
    | xargs perl -pi -e 's/[text_to_search_for]/[text_to_replace_with]/g' # pipe list of files and using perl search and replace with specified text