Скомуниздена подборка консольных команд с помощью Sed
REM Удалить пустые строки в файле
sed -e "/^$/d" 1x.txt > 2x.txt
REM Delete all newline.( Concatenate each line of 1x.txt into 1 line of string )
sed ":a;N;$!ba;s/\n//g" 1x.txt > 2x.txt
REM http://sed.sourceforge.net/sedfaq5.html#s5.10
REM Print line without 'code'
sed -n "/code/!p" 1x > 2x.txt
REM In bash shell, use single quote.
REM Delete line 2 up to line 10 inclusively.
sed -e "2,10d" 1x.txt > 2x.txt
REM Пропустить 3-ю строку(Заменить 'a' на 'b' во всех строках кроме 3-й).
sed -e "3n; s/a/b/g" 1x.txt > 2x.txt
REM Insert LINE at line 3.
REM If no number before i is defined, then sed will insert LINE before every line in 1x.txt
sed -i "3i\LINE" 1x.txt
REM Append WORD at the end of file.
sed -i "$a\WORD" 1x.txt
REM Use semi-colon(;) as OR operator.
REM Print line containing expression1 or expression2 or etc
sed -n "/exp1/p; /exp2/p" 1x.txt
REM Number each line of a file
sed = filename.txt | sed "N;s/\n/\t:/" > 1x.txt
REM Replace empty lines with previous non-empty line.
sed -e "/[^ ]/{h}" -e g input.txt
REM http://www.computing.net/unix/wwwboard/forum/7768.html
REM Copy pattern found multiple times using ampersand(&)
ECHO 123 abc | sed "s/123/& | & | &/"
REM Copy pattern found multiple times using parentheses.
ECHO 123 abc | sed -e "s/\(123\)\(.*\)/ \1 \1 \2 \1 \2 /"
Classes
[[:alnum:]] - [A-Za-z0-9] Alphanumeric characters
[[:alpha:]] - [A-Za-z] Alphabetic characters
[[:blank:]] - [ \x09] Space or tab characters only
[[:cntrl:]] - [\x00-\x19\x7F] Control characters
[[:digit:]] - [0-9] Numeric characters
[[:graph:]] - [!-~] Printable and visible characters
[[:lower:]] - [a-z] Lower-case alphabetic characters
[[:print:]] - [ -~] Printable (non-Control) characters
[[:punct:]] - [!-/:-@[-`{-~] Punctuation characters
[[:space:]] - [ \t\v\f] All whitespace chars
[[:upper:]] - [A-Z] Upper-case alphabetic characters
[[:xdigit:]] - [0-9a-fA-F] Hexadecimal digit characters
http://www.student.northpark.edu/pemente/sed/sedfaq3.html
REM Print only if there are 3 consecutive hexadecimal.
echo a1f | sed -n "/[[:xdigit:]]\{3\}/p"
Regular Expression
Any character(.)
Dot(.) represents any character.
Negation(^)
# (In bash) Remove everything that is not >
echo 'a >bc>d e' | sed -e 's/[^>]//g'
# Remove tags(<..>)
echo 'Remove
html/xml tags.' | sed -e 's/<[^>]*>//g'
Express OR expression inside square brackets([])
# Replace a or f with X.
echo 'abcdefghi' | sed -e 's/[af]/X/g'
Range(-)
# Replace characters ranging from c to f inclusively with X.
echo 'abcdefghi' | sed -e 's/[c-f]/X/g'
Defined repeating occurrences({})
# Replace ccc with X. Don't forget to put backslash before curly brackets.
echo 'abccdecccfghi' | sed -e 's/c\{3\}/X/g'
Infinite repeating occurrences(*)
# Replace any characters(.) between a and ; inclusively with X.
echo 'ab1$2c3+d;efghi' | sed -e 's/a.*;/X/g'
http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html#tag_09_03
http://www.gentoo.org/doc/en/articles/l-sed2.xml
http://www.grymoire.com/Unix/Sed.html#uh-0