linux工具---sed用法简记

sed -[nefr] cmd file

# print the result to stdout 

# this is a comment
# no blank should be at the end of a line

options are optional:
-n silent, only print lines that be affected
-e multi cmd
-f read cmd from file
-r extensive regex

cmd: ‘ADDR OP’ or ‘[ADDR]s/PATTERN/SUB/ARG’
OP: a(append) c(replace) d(delete) i(insert bef) p(print) s(search and replace)
ADDR: begin,end line_n n~d:n,n+d,n+2d… regex
# note that regex in the form of /…/
ARG: g: apply to all p: print

eg

  • sed ‘1s/old/new/’ file 将file的第一行中的第一个old替换为new,
  • sed ‘s/old/new/g’ file 将file中的所有old替换为new,
  • sed ‘s/old/new/2’ file 将file中的第二个old替换为new,
  • sed ‘s;/home/mbinary/;/home/who/;’ 间隔符任意,这里是; , 一般用于路径替换
  • sed ‘/^$/d’ file 删除所有空行
  • sed -n ‘1~2p’ file 打印file的奇数行
  • sed ‘2,6c 第2到6行被替换成这一行内容了QAQ’ file
  • sed ‘/pt1/,/pt2/d’ file 删除第一个匹配pt1到第一个匹配pt2的所以行
  • sed ‘/pt1/,+4d’ file 删除第一个匹配pt1的行及后四行
  • sed -f fixup.sed somefile 读取fixup.sed中的sed命令应用到somefile上

你可能感兴趣的:(linux,linux,sed)