====== 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 usually a separator character. It is used to separate different commands and their arguments.
Truth to be told, almost any character can be used as a separator. The first character after the command seems to be used as a separator. Thus '' 's/some text/other text/p' '' could be written as '''sKsome textKother textKp' ''.
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"