SED - Linux

Search and replace (RegExp)

/* Tips:
 * Backup file or folder before using sed
 * Make sure RegEx script is working with trying it on single file (dummy file/copied one)
 */

// sed single file using regex to remove match string
sed -i -E 's/<script.*?netbro_cache_analytics.*?<\/script>//' ./documentation.html

// adding g at the end of 'pattern' to make it global or match more than 1 occurance, example:
sed -i -E 's/&lt.*?class=\"elements-to-be-removed\.*?\/div>//g' ./documentation.html

// using `find` to search more than 1 files:
find path/to/folder -type f -iname "*.php" -exec sed -i -E 's/<script.*?netbro_cache_analytics.*?<\/script>//' {} \;

// Escape quote ( ' )
sed -i -E 's/'"'"'base_url'"'"' => base_url\(\)/'"'"'base_url'"'"' => base_url\(\),\n\t'"'"'asset_url'"'"' => asset_url\(\)/' ./Controller.php
Sed Help
sed --help
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

  -n, --quiet, --silent
                 suppress automatic printing of pattern space
      --debug
                 annotate program execution
  -e script, --expression=script
                 add the script to the commands to be executed
  -f script-file, --file=script-file
                 add the contents of script-file to the commands to be executed
  --follow-symlinks
                 follow symlinks when processing in place
  -i[SUFFIX], --in-place[=SUFFIX]
                 edit files in place (makes backup if SUFFIX supplied)
  -b, --binary
                 open files in binary mode (CR+LFs are not processed specially)
  -l N, --line-length=N
                 specify the desired line-wrap length for the 'l' command
  --posix
                 disable all GNU extensions.
  -E, -r, --regexp-extended
                 use extended regular expressions in the script
                 (for portability use POSIX -E).
  -s, --separate
                 consider files as separate rather than as a single,
                 continuous long stream.
      --sandbox
                 operate in sandbox mode (disable e/r/w commands).
  -u, --unbuffered
                 load minimal amounts of data from the input files and flush
                 the output buffers more often
  -z, --null-data
                 separate lines by NUL characters
      --help     display this help and exit
      --version  output version information and exit

If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret.  All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.

GNU sed home page: <https://www.gnu.org/software/sed/>.
General help using GNU software: <https://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-sed@gnu.org>.

Tidak ada komentar:

Posting Komentar