====== 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"