SED command utilities

Table of Contents
Purpose..................................................................................................................3 Sed Command Introduction....................................................................................3 Regular expression................................................................................................3 sed options.............................................................................................................4 1. To print the file (emulates “cat”)....................................................................5 2. To print first 10 lines of a file (emulates “head”)............................................5 3. To print the last 10 lines of a file (emulates "tail")..........................................5 4. To print the set of lines...................................................................................5 5. To print only lines matches the regular expression (emulates "grep")............5 6. To print only lines starts with given “regular expression”...............................5 7. To print only lines ends with given “regular expression”................................5 8. To print only lines which contains exact “regular expression”........................6 9. To print only lines which do not matches the regular expression....................6 10. To print the line immediately after a regular expression...............................6 11. To print the section of lines between two given strings................................6 12. To print all of file EXCEPT section between 2 regular expressions................6 13. To print all only the line number of the regular expression...........................6 14. Beginning 2nd line, print every 3rd line........................................................6 15. Delete the first line and print the same in screen.........................................6 16. Delete the last line and print the same in the screen....................................7 17. Delete the set of lines from a file and print the same in screen....................7 18. Delete leading white space (spaces, tab) .....................................................7 19. Delete trailing white space (spaces, tab) .....................................................7 20. Delete both leading and trailing white spaces..............................................7 21. Delete the comments from a file (#) and print the same in screen..............7 22. Delete the blank lines...................................................................................7 23. Create a new file removing the blank lines...................................................7 24. Delete the lines which contain particular string............................................8 25. Delete the particular string in a line and print the rest.................................8 26. Delete all leading blank lines at the beginning of the file..............................8 27. Delete all the trailing blank lines at the end of the file..................................8 28. Delete every 3rd line in a given file.............................................................8 29. Delete consecutive duplicate lines in a file...................................................8 30. Insert 2 blank spaces at the beginning of each line......................................8 31. Insert 2 blank spaces at the end of each line................................................8 32. Replace the first instance of string ...............................................................8 33. Replace the last instance of a string.............................................................9 34. Replace the string from particular block.......................................................9 35. Replace all the instance of string .................................................................9 36. Replace all the instance of string when certain string occurs........................9 37. Replace all the instance of string when certain string not occurs.................9 38. Replace the set of patterns to single string...................................................9 39. Reverse the order of lines in a given file.......................................................9 40. Reverse each character on the line...............................................................9 41. Reverse the file ............................................................................................9 42. Add commas to numeric strings..................................................................10 43. Joint two lines, previous line ending with “/”...............................................10 44. Upper to Lower............................................................................................10 45. Lower to Upper............................................................................................10 46. Word Count ................................................................................................10

SED command utilities
47. 48. 49. 50. File Copy.....................................................................................................10 Merge two files............................................................................................10 Double space a file......................................................................................10 Displaying File with Line Number................................................................11

SED command utilities

Purpose This document contains some useful features of “sed” command. These commands are not very common otherwise but are very helpful in case of the need, dealing with different situations. This document will definitely be helpful for those who work on UNIX Platform. This document can be a part of HELP document while training on UNIX for ALL specially for the new joinees in an organization. Sed Command Introduction “sed” is a powerful UNIX command. One can modify text across multiple files and make changes to files without opening them in an interactive editor. sed is not suitable as a general purpose editor, and is best used to apply a set of modifications to text, particularly if you're managing more than one file. If you want to run a series of once-only edits, you are better off directly editing a file using vi or Emacs, as using sed will take much longer. But if you need to make systematic changes across multiple files, then sed is your best bet. The sed utility is a stream editor that reads one or more text files, makes editing changes according to a script of editing commands, and writes the results to standard output. The script is obtained from either the script operand string or a combination of the option-arguments from the -e script and -f script_file options. The sed utility is a stream editor that reads one or more text files, makes editing changes according to a script of editing commands, and writes the results to standard output. The script is obtained from either the script operand string or a combination of the option-arguments from the -e script and -f script_file options. Sed is extremely powerful, and you can do things in sed that you can't do in any standard word processor. And because sed is external to the word processor and comes with every Unix system in the world, once you learn sed you'll have a very handy tool in your toolkit, even if you rarely use Unix. Regular expression We can use regular expressions to express patterns that we may find in the text. If you've ever used the '*' character on the shell command line, you've used something that's similar, but not identical to, regular expressions. Here are the special characters that you can use in regular expressions:

Character Description

SED command utilities ^ $ . * [] Matches the beginning of the line Matches the end of the line Matches any single character Will match zero or more occurrences of the previous character Matches all the characters inside the [ ]

Few examples Regular expression /./ /../ /^#/ /^$/ /}^/ /} *^/ /[abc]/ /^[abc]/ Description Will match any line that contains at least one character Will match any line that contains at least two characters Will match any line that begins with a '#' Will match all blank lines Will match any lines that ends with '}' (no spaces) Will match any line ending with '}' followed by zero or more spaces Will match any line that contains a lowercase 'a', 'b', or 'c' Will match any line that begins with an 'a', 'b', or 'c'

sed options The default behavior of sed outputs all lines, even if no changes are made. The -n option will skip lines that aren't modified.

SED command utilities

1. To print the file (emulates “cat”) This command can be used to print the first 10 lines of given file sed ':' FILENAME (or) sed -n 'p' FILENAME To print first 10 lines of a file (emulates “head”) This command can be used to print the first 10 lines of given file
2.

sed 10q FILENAME | more
3. To print the last 10 lines of a file (emulates "tail")

This command can be used to print the last10 lines of given file sed -e :a -e '$q;N;11,$D;ba' FILENAME | more 4. To print the set of lines This command can be used to print 5 lines starting line number 45 to line number 50. sed ‘45,50p’ FILENAME | more To print only lines matches the regular expression (emulates "grep") This command can be used to print the lines which contain the given regular expression.
5.

sed -n '/regexp/p' FILENAME 6. To print only lines starts with given “regular expression” This command can be used to print the lines which contain the given regular expression at the beginning of a line. sed -n '/^regexp/p' FILENAME 7. To print only lines ends with given “regular expression” This command can be used to print the lines which contain the given regular expression at the end of a line sed -n '/regexp$/p' FILENAME

SED command utilities 8. To print only lines which contains exact “regular expression” This command can be used to print the lines which contain only the given regular expression. sed -n '/^regexp$/p' FILENAME 9. To print only lines which do not matches the regular expression This command can be used to print the lines which contain the given regular expression. sed -n '/regexp/!p' FILENAME 10. To print the line immediately after a regular expression This command can be used to print the line immediate after which contain the given regular expression. sed -n '/regexp/{n;p;}' FILENAME 11. To print the section of lines between two given strings This command can be used to print the lines between two given strings. sed '/STRING1/,/STRING2/p' FILENAME To print all of file EXCEPT section between 2 regular expressions This command can be used to print all of file except section between 2 strings.
12.

sed ‘/STRING1/,/STRING2/d' FILENAME To print all only the line number of the regular expression This command can be used to print the line number of the given regular expression
13.

sed -n '/regexp/=' FILENAME Beginning 2nd line, print every 3rd line This command can be used to print every 3rd line starting from 2nd line
14.

sed -n '2,${p;n;n;}' FILENAME
15. Delete the first line and print the same in screen

This command can be used to delete the first line from the file and print the same in the screen sed -e '1d' FILENAME |more

SED command utilities 16. Delete the last line and print the same in the screen. This command can be used to delete the last line from the file and print the same in the screen sed '$d' FILENAME |more
17. Delete the set of lines from a file and print the same in screen

This command can be used to delete the set of given range from the file and print the same in the screen sed -e '2,10d' FILENAME |more 18. Delete leading white space (spaces, tab) This command can be used to delete the leading blank spaces for all the lines. sed 's/^[ \t]*//' FILENAME |more

19. Delete trailing white space (spaces, tab) This command can be used to delete the trailing blank spaces for all the lines. sed 's/[ \t]*$//' FILENAME|more 20. Delete both leading and trailing white spaces This command can be used to delete the trailing and leading blank spaces for all the lines. sed 's/[ \t]*$//' FILENAME|m
21. Delete the comments from a file (#) and print the same in screen

This command can be used to delete the UNIX comments in a given file and print the same in the screen. sed -e '/^#/d' FILENAME |more
22. Delete the blank lines

This command can be used to delete the blank lines in a given file sed '/^$/d' FILENAME |more (or) sed -n '/./p' FILENAME | more 23. Create a new file removing the blank lines This command can be used to delete the blank lines in a given file sed -ne '/^$/d; w NEW-FILE' OLD-FILE

SED command utilities
24. Delete the lines which contain particular string

This command can be used to delete the lines which contain a particular string. sed -e '/STRING/d' FILENAME |more
25. Delete the particular string in a line and print the rest

This command can be used to delete the particular string in a given file. sed -e 's/STRING//' FILENAME |more
26. Delete all leading blank lines at the beginning of the file

This command can be used to delete all the leading blank lines at the beginning of the file. sed '/./,$!d' FILENAME
27. Delete all the trailing blank lines at the end of the file

This command can be used to delete all the trailing blank lines at the end of the file. sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' FILENAME
28. Delete every 3rd line in a given file

This command can be used to delete every third line in a given file. sed 'n;n;d' FILENAME
29. Delete consecutive duplicate lines in a file.

This command can be used to delete the consecutive duplicate line and keeps the first one. sed '$!N; /^\(.*\)\n\1$/!P; D' FILENAME
30. Insert 2 blank spaces at the beginning of each line

This command can be used to insert 2 blank spaces at the beginning of each line. sed ‘s/^/ /’ FILENAME
31. Insert 2 blank spaces at the end of each line

This command can be used to insert 2 blank spaces at the end of each line. sed ‘s/$/ /’ FILENAME
32. Replace the first instance of string

This command can be used to replace the first occurrence of given string/

SED command utilities sed ‘s/STRING1/STRING2/’ FILENAME 33. Replace the last instance of a string This command can be used to replace the last occurrence of a given string sed 's/\(.*\)STRING1/\STRING2/' FILENAME
34. Replace the string from particular block

This command can be used to replace the string in a given block. sed ‘2,4 s /STRING1/STRING2/' FILENAME
35. Replace all the instance of string

This command can be used to replace the first occurrence of given string sed ‘s/STRING1/STRING2/g’ FILENAME
36. Replace all the instance of string when certain string occurs

This command can be used to replace the first occurrence of given string/ sed ‘/SEARCH_STRING/s/STRING1/STRING2/g’ FILENAME
37. Replace all the instance of string when certain string not occurs

This command can be used to replace the first occurrence of given string sed ‘/SEARCH_STRING/!s/STRING1/STRING2/g’ FILENAME
38. Replace the set of patterns to single string

This command can be used to replace the first occurrence of given string sed ‘s/STRING1\|STRING2\|STRING3/STRING/g’ FILENAME
39. Reverse the order of lines in a given file

This command can be used to reverse the order of lines in a given file. sed '1!G;h;$!d' FILENAME (or) sed -nf '1!G;h;$p' FILENAME
40. Reverse each character on the line

This command can be used to reverse each character on the line. sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//' FILENAME 41. Reverse the file This command can be used to reverse the contents of the file

SED command utilities

sed '1!G;h;$!d' FILENAME | sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
42. Add commas to numeric strings

This command can be used to add commas to numeric string, changing "1234567" to "1,234,567" sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta' FILENAME
43. Joint two lines, previous line ending with “/”

This command can be used to joint two lines, where previous line ending with “\” sed -e :a -e '/\\$/N; s/\\\n//; ta' FILENAME
44. Upper to Lower

This command can be used to convert a file from UPPER case to lower case sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' FILENAME
45. Lower to Upper

This command can be used to convert a file from lower case to upper case sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' FILENAME
46. Word Count

This command can be used to count the lines in a file sed -n '$=' FILENAME
47. File Copy

This command can be used to copy the file. sed -n 'w NEW-FILE' OLD-FILE
48. Merge two files

This command can be used to merge the contents of two files sed 'r FILE1' FILE2 | sed -n 'w NEW-FILE'
49. Double space a file

This command can be used to double space the given file

SED command utilities

sed 'G; w NEW-FILE' OLD-FILE
50. Displaying File with Line Number

This command can be used to print the file with line number. sed = filename | sed 'N;s/\n/ : /'

Sign up to vote on this title
UsefulNot useful