Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Better title.

General Search

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

Code Block
languagebash
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

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

Code Block
languagebash
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,

Code Block
languagebash
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 with 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