Sed
Jump to navigation
Jump to search
Check the APO unix pages for more.
- NOTE!! On some systems you need the -E option to have possix Regular Expressions supported
Tricks
sed 's/\r//' filename > newfilename
- dos2unix substitute, remove all DOS line endings.
sed -i 'commands' filename
- Edit the file directly (inplace), by default the result is sent to standard output.
Basics
- sed '/<pattern>/<action>' <file>
- Execute action on all lines in <file> matching <pattern>
- Simple actions are d(elete) (can be negated using !d, delete all lines not matching), p(rint), q(uit)
- sed 's/<old_string>/<new_string>/g' <file>
- Substitute, no whitespace is allowed after the command (s), the first character following s is the fieldseperator./g substitutes all matching patterns in a line. Use \n to insert a newline.
- sed 's/pattern(with)sub(patterns)/\1 newpartofstring \2/' <file>
- \1 and \2 refer to the subpatterns between brackets ().
- sed '/<pattern>/[ia]<text>'
- i inserts <text> before the matched line, a after the line
- sed '/<pattern>/[rw] <file>'
- r(ead) from or w(rite) to <file> if <pattern> is matched.