Unix Shell Scripting For DBA’s (PART – 07)

Unix Shell Scripting For DBA’s (PART – 07)

GNU

GNU stand for “GNU’s Not Unix!”

reference of this article from : www.orskl.com

It is a recursive acronym chosen because GNU’s design is Unix-like, but differs from Unix by being free software and containing no Unix code.

Here we are discussing five sub topics.

  1. Interactive editing
  2. Non Interactive editing
  3. AWK programming
  4. AWK print program
  5. AWK variables

 

1.Interactive editing

What is sed?

A Stream EDitor is used to perform basic transformations on text read from a file or a pipe. The result is sent to standard output. The syntax for the sed command has no output file specification, but results can be saved to a file using output redirection. The editor does not modify the original input.

What distinguishes sed from other editors, such as vi and ed, is its ability to filter text that it gets from a pipeline feed. You do not need to interact with the editor while it is running; that is why sed is sometimes called a batch editor. This feature allows use of editing commands in scripts, greatly easing repetitive editing tasks. When facing replacement of text in a large number of files, sed is a great help.

sed commands

The sed program can perform text pattern substitutions and deletions using regular expressions, like the ones used with the grep command.

The editing commands are similar to the ones used in the vi editor:

For all commands in sed will go with man command :

 

Most  widely used Sed editing commands

Command           Result

a\                     Append text below current line.

c\                    Change text in the current line with new text.

d                     Delete text.

i\                     Insert text above current line.

p                     Print text.

r                     Read a file.

s                    Search and replace text.

w                   Write to a file.

Apart from editing commands, you can give options to sed. An overview is in the table below :

Sed options

Option                                Effect

-e SCRIPT .                 Add the commands in SCRIPT to the set of commands to be run while processing the input.

-f                                 Add the commands contained in the file SCRIPT-FILE to the set of commands to be run while processing the input.

-n                                Silent mode.

-V                               Print version information and exit.

Printing lines containing a pattern

This is something you can do with grep, of course, but you can’t do a “find and replace” using that command. This is just to get you started.

 

Create a file with our own content .

Cat the file which we created.

To print the required pattern using p option

Use sed now to search a pattern called erors.

In the above example sed will reads every line for word  ‘erors’.if its not found erors word also it prints in output.

In case it founds then it will print for two times.

To  avoid these type of repeats we have an option called -n .

Remove repeated outputs using sed while searching for a pattern.

Exclude lines containing a pattern

Use sed now to exclude a pattern called erors.

All the erors are not part of the output.

Range of lines

Remove the lines from 2 to 4 from the file in the output.

To print 2,3,4  lines from a file

Print the lines starting from 3rd line until end.

Print from one pattern until next pattern in a file.

Find and replace

Find pattern erors and replace with errors.

– only first occurrences in the line will be replaced.

To replace all the patterns in all the lines.

To insert string at beginning of every line.

To insert pattern at ending of every line.

2.Non interactive editing

Reading sed commands from a file

Multiple sed commands can be put in a file and executed using the -f option. When creating such a file, make sure that:

  • No trailing white spaces exist at the end of lines.
  • No quotes are used.
  • When entering text to add or replace, all except the last line end in a backslash.
  • AWK programming

Redirect the output of the sed command to the different file.

 

In next article we are discussing about AWK.

 

Thank you….

 

 

 

 

 

Note: Please test scripts in Non Prod before trying in Production.
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5.00 out of 5)
Loading...

Add Comment