This is an old revision of the document!
Table of Contents
sed
Tool for doing stuff with lines, or perhaps stream of characters..
Using as regex to get stuff
By default, everything that is not deleted (by a delete command) is printed to stdout. To inhibit this, pass '-n' flag.
Forward dash '/' is a separator character. It is used to separate different commands and their arguments.
sed takes a string as argument, which can contain commands, that in turn contain matching strings.
The string that is passed to sed must contain a valid command. A valid command is fucked up. It can be either the first character, or the trailing character.
For example the command to print a line that matches something would be
echo testfil.txt | sed -n 'something/p'
While the command to substitute comes before a string. To substitute "dude" with "shit":
echo testfil.txt | sed 's/dude/shit/'
But you could also combine them, and print only the lines that matches the substitutions. Thus having commands both first and last in the string:
echo testfil.txt | sed -n 's/dude/shit is fucked up/p'
Examples
sed '/actual pattern/command' # ex sed '/Matches this string/p' # command p is printed. But since -d flag is not provided, so will everything else too sed -n '/Matches this string/p' # Only prints rows containing "Matches this string"
