SED

中文man手册

SED

åç§°
æè¦
æè¿°
å½ä»¤æè¦
é¶å°åâå½ä»¤â
é¶æä¸å°åå½ä»¤
æ¥åèå´å°åçå½ä»¤
å°å
æ£å表达å¼
BUGS
ä½è
çæ
åè§
è·

åç§°

sed - ææ¬çéåæ ¼å¼è½¬æ¢çæµå¼ç¼è¾å¨

æè¦

sed [é项]... {script-only-if-no-other-script} [è¾å¥æä»¶]...

æè¿°

Sedæ¯ä¸ä¸ªæµå¼ç¼è¾å¨ãæµå¼ç¼è¾å¨æ¯ç¨æ¥å¨è¾å¥æµï¼ä¸ä¸ªæä»¶æè管éè¾å¥ï¼ä¸ å®æåºæ¬ææ¬è½¬æ¢çãå½å¨ä¸äºåè®¸èæ¬ç¼è¾çç¼è¾å¨ä¸ï¼æ¯å¦edï¼ï¼sedéè¿å° è¾å¥ä¼è¾ä¸ºä¸ä¸ªè¾å¥æ¥å·¥ä½ï¼è¿æ ·æ´é«æã使¯æ¯sedçåè½æ¥è¿æ»¤ç®¡éçææ¬å¹¶ ä»å¶ä»ç±»åçç¼è¾å¨ä¸ç¹å«è¯å«åºè¿äºææ¬ã

-n, --quiet, --silent

ä¸èªå¨æå°æ¨¡å¼ç©ºé´çå容

-e èæ¬, --expression=èæ¬

æ·»å èæ¬å°å°è¦æ§è¡çå½ä»¤

-f èæ¬æä»¶, --file=èæ¬æä»¶

æ·»å èæ¬æä»¶çå容å°å³å°æ§è¡çå½ä»¤

--follow-symlinks

å¤çå·²å卿件æ¶è·é龿¥

-i[SUFFIX], --in-place[=SUFFIX]

ç¼è¾å·²åå¨çæä»¶ï¼å¦ææä¾äºSUFFIXä½ä¸ºåç¼ååå¤ä»½ï¼

-l N, --line-length=N

æå®’l’å½ä»¤éè¦çèªå¨æ¢è¡é¿åº¦

--posix

ç¦ç¨ææGNUæä»¶ã

-E, -r, --regexp-extended

å¨èæ¬ä¸ä½¿ç¨æ©å±æ- £å表达å¼ï¼ä¸ºäºå¯ç§»æ¤æ§ï¼è¯·ä½¿ç¨ç¬¦åPOSIXç-Eï¼

-s, --separate

å°å¤ä¸ªæä»¶åå«çå¾ï¼èéç»ä¸è§ä½å个è¿ç»çæµã

--sandbox

卿²ç®±æ¨¡å¼ä¸æä½ã

-u, --unbuffered

ä»è¾å¥æä»¶ä¸è¯»åæå°éçæ°æ®å¹¶æ´é¢ç¹å°å·æ°è¾åºç¼å²åº

-z, --null-data

ç¨NULå符åå²è¡

--help

æ¾ç¤ºè¿ä¸ªå¸®å©å¹¶éåº

--version

è¾åºçæ¬ä¿¡æ¯å¹¶éåº

å¦ææ²¡æç»åº-eï¼--expressionï¼-fï¼æè--fileéé¡¹ï¼ é£ä¹ç¬¬ä¸ä¸ªéé项忰ä¼è¢«å½ä½sedèæ¬è§£éãææä½ä¸çåæ°æ¯è¾å¥æä»¶çåç§°ï¼ å¦ææ²¡ææå®è¾å¥æä»¶ï¼é£ä¹å°±ä¼è¯»åæ åè¾å¥ã

GNU sed主页ï¼<http://www.gnu.org/software/sed/>ã使ç¨GNU软件çéç¨å¸®å© ï¼<http://www.gnu.org/gethelp/>ãBugæ¥å请åéçµå- é®ä»¶è³ï¼<bug-sed@gnu.org>ã

å½ä»¤æè¦

è¿åªæ¯ä¸ºå·²ç»ç¥ésedå½ä»¤åç¸å³ææ¡£ï¼ä¾å¦texinfoææ¡£ï¼ï¼éè¦ç¿»éå½ä»¤å®æ´ æè¿°ç人åå¤çsedå½ä»¤çç®çæè¦ã

é¶å°åâå½ä»¤â

label

b å t å½ä»¤çæ ç¾ã

#comment

注éå°ä¼å»¶é¿å°ä¸ä¸ä¸ªæ°è¡ (æèä¸ä¸ª -e èæ¬çæ®µçç»å°¾ãï¼

}

ä¸ä¸ª{ }åç鿬å·ã

é¶æä¸å°åå½ä»¤

=

çåºå½åè¡çè¡å·ã

a \

text

追å text, textå¯ä»¥éè¿é¢ååå¥åææ æ¥åµå¥æ°è¡ã

i \

text

æå¥ text, textå¯ä»¥éè¿é¢ååå¥åææ æ¥åµå¥æ°è¡ã

q [exit-code]

ç«å³éåºsedèæ¬èä¸å¤çå¶ä»è¾å¥ï¼é¤éèªå¨æå°æ²¡æç¦ç¨ä½¿å¾å½åæ¨¡å¼ ç©ºé´å°ä¼è¢«æå°ã[exit-code]æ¯GNUæä»¶ï¼æ©å±ï¼ã

Q [exit-code]

ç«å³éåºsedèæ¬èä¸å¤çå¶ä»è¾å¥ãè¿æ¯ä¸ä¸ªGNUæä»¶ã

æä»¶å

ä» æä»¶å 读åå容并追å å°æåã

æä»¶å

ä» æä»¶å 读åä¸è¡å¹¶è¿½å å°æåãæ¯æ¬¡è°ç¨è¿ä¸ªå½ä»¤å°±ä»æä»¶ä¸- 读åä¸ è¡ãè¿æ¯ä¸ä¸ªGNUæä»¶ã

æ¥åèå´å°åçå½ä»¤

{

å¼å§ä¸ä¸ªå½ä»¤åï¼ä»¥ä¸ä¸ª}ç»æï¼ã

label

ç¨åºè·³è½¬å°labelå¤;妿label被çç¥ï¼è·³è½¬å°èæ¬å°¾é¨ã

c \

text

ç¨ text 代æ¿éæ©çè¡, text å¯ä»¥éè¿é¢ååå¥åææ æ¥åµå¥æ°è¡ã

d

å é¤æ¨¡å¼ç©ºé´ã å¼å§ä¸ä¸ä¸ªå¾ªç¯ã

D

å¦ææ¨¡å¼ç©ºé´å嫿°è¡ï¼å¨då½ä»¤åå¸ä¹åå¼å§ä¸ä¸ªæ°çæ®é循ç¯ãå¦åï¼ å é¤æ¨¡å¼ç©ºé´ä¸çtextç´å°æ°è¡ï¼å¹¶ä¸å¨ä¸è¯»å¥æ°è¡çæåµä¸ï¼ç¨ç»æç 模å¼ç©ºé´å¼å§ä¸ä¸ªå¾ªç¯ã

h H

å¤å¶/è¿½å æ¨¡å¼ç©ºé´å°ä¿å空é´ã

g G

å¤å¶/追å ä¿å空é´å°æ¨¡å¼ç©ºé´ã

l

ç¨âç´è§æç¡®âçæ ¼å¼ååºå½åè¡ã

width

ç¨âç´è§æç¡®âçæ ¼å¼ååºå½åè¡ï¼å¨widthå符å¤ç»æãè¿æ¯ä¸ä¸ªGNUæä»¶ã

n N

读å/追å ä¸ä¸è¡è¾å¥å°æ¨¡å¼ç©ºé´ã

p

è¾åºå½åçæ¨¡å¼ç©ºé´ã

P

è¾åºç´å°éå°å½å模å¼ç©ºé´ç第ä¸ä¸ªåµå¥çæ¢è¡ç¬¦ã

s/regexp/replacement/

å°è¯ä¸æ¨¡å¼ç©ºé´å¹éregexpï¼å¦ææåï¼ç¨replacement代æ¿å¹éçé¨å ãreplacementå¯è½åå«ç¹æ®å符&æ¥å¼ç¨æ¨¡å¼ç©ºé´ä¸å¹éçé¨åï¼èç¹æ® å- 符\1å°\9åå¼ç¨regexpä¸å¯¹åºå¹éçå表达å¼ã

label

èªä¸æ¬¡è¾å¥è¡è¯»åä¹åå¹¶ä¸ä¸æ¬¡æ§è¡äºtæèTå½ä»¤ä¹åï¼å¦æä¸ä¸ªs///被 æåæ¿æ¢ï¼é£ä¹è·³è½¬å°labelå¤;妿label被忽ç¥ï¼è·³è½¬å°èæ¬ç»å°¾ã

label

èªä¸æ¤è¾å¥è¡è¯»åä¹åå¹¶å䏿¬¡æ§è¡äºtæèTå½ä»¤ä¹åï¼å¦æä¸ä¸ªs///被 æåæ¿æ¢ï¼é£ä¹è·³è½¬å°labelå¤;妿label被忽ç¥ï¼è·³è½¬å°èæ¬ç»å°¾ãè¿æ¯ ä¸ä¸ªGNUæä»¶ã

filename

å°å½åçæ¨¡å¼ç©ºé´åå¥å°filenameä¸ã

filename

åå¥å½å模å¼ç©ºé´ç第ä¸è¡å°filenameä¸ãè¿æ¯ä¸ä¸ªGNUæä»¶ã

x

äº¤æ¢æ¨¡å¼ç©ºé´åä¿å空é´çå容ã

y/source/dest/

å°æ¨¡å¼ç©ºé´ä¸æ¾ç¤ºä¸ºsourceçå符ç¨destå符æ¥ååºã

å°å

Sedå½ä»¤å¯ä»¥æ²¡ææå®å°åï¼è¿æ ·å°ä¼ä¸ºææè¡æ§è¡å½ä»¤ã妿ç»åºäºä¸ä¸ªå°åï¼ è¿æ ·å½ä»¤å°±åªä¼ä¸ºå¹éæ- ¤å°åçè¡æ§è¡ï¼å¦æç»åºäºä¸¤ä¸ªå°åï¼è¿æ ·å½ä»¤å°ä¼å¯¹ ä»å¹éç第ä¸ä¸ªå°åå°ç¬¬äºä¸ªå°åçåºåçææè¾å¥è¡æ§è¡å½ä»¤ã å³äºå°åèå´æä¸ç¹ï¼è¯æ³ä¸ºï¼addr1 , addr2ï¼æ¯å¦ï¼å°åè¦ç¨éå·åå¼ï¼ï¼ addr1å¹éçè¡ä¸å®ä¼è¢«æ¥åï¼å³ä½¿addr2éå®çæ¯æ´é åçè¡ï¼å¹¶ä¸å¦æaddr2æ¯ ä¸ä¸ªregexpï¼æ£å表达å¼ï¼ï¼å®å°ä¸ä¼é夿µè¯addrå¹éçè¡ã

å¨å°åï¼æå°åèå´ï¼ä¹åï¼å¨å½ä»¤ä¹åï¼å¯ä»¥æå¥ä¸ä¸ª!ï¼è¿ä¸ªç¬¦å·å®ä¹çå½ä»¤ åªæå¨å°åï¼å°åèå´ï¼ä¸å¹éçæ¶åæè½æ§è¡ã

æ¯æä¸é¢çå°åç±»åï¼

number

åªå¹éè¡å·ä¸ºnumberçè¡ãï¼é¤é-sé项å¨å½ä»¤è¡ä¸è¢«æå®ï¼numberå¼å° ä¼æç§æä»¶æ°æ¸å¢ãï¼

first˜step

å¹éæ¯ä¸ä¸ªç¬¬stepè¡å¹¶ä»firstå¼å§è®¡æ°ã举个æ å1‘sed -n 1˜2p’’å° æå°åºè¾å¥æµææå¥æ°è¡ï¼èå°å2˜5å°å¹éä»ç¬¬2è¡å¼å§çï¼ä»¥5为æ¥é¿ç è¡ãfirstå¯ä»¥æ¯é¶ï¼è¿æ ·ï¼sedæå¶ä¸ºstepæ¥æä½ãï¼è¿æ¯ä¸ä¸ªæä»¶ãï¼

$

å¹éæè¿çè¡ã

/regexp/

å¹éç¬¦åæ£å表达å¼regexpçè¡ã

\cregexpc

å¹éç¬¦åæ£å表达å¼regexpçè¡ã å¶ä¸cå¯ä»¥æ¯ä»»æå符ã

GNUsedåæ ·æ¯ææäºç¹æ®2å°åæ ¼å¼ï¼
0,addr2

ä»âå¹éäºç¬¬ä¸ä¸ªå°åâç¶æå§ï¼ç´å°åç°addr2ãè¿å1, addr2å¾ç¸ä¼¼ï¼ é¤äºå½addr2å¹éäºè¾å¥ç第ä¸è¡ï¼0, addr2å½¢å¼å°å¨è¯¥èå´çç»å°¾ï¼è 1, addr2å½¢å¼ä»ç¶å¨è¯¥èå´çå¼å§ãè¿ç§å½¢å¼åªæå¨addr2æ¯æ£åè¡¨è¾¾å¼ çæåµä¸æææã

addr1,+N

å°ä¼å¹é addr1 åå¨ addr1 ä¹åç N è¡ã

addr1N

å°ä¼å¹é addr1 å addr1 ä¹åçè¾å¥è¡æ°æ¯ N åçä¸ä¸è¡ã

æ£å表达å¼

POSIX.2 BREsåºè¯¥æ¯æ¯æçï¼ä½æ¯ç±äºæ§è½çåå ï¼è¿ä¸ªç¹æ§è¿ä¸å®å¨ãå¶ä¸ \nåºåå¹éæ¢è¡ç¬¦ï¼\aã\tåå¶ä»åºå乿¯ç±»ä¼¼çã-Eé项å¼å³ç¨æ¥éæ©æ¯å¦ä½¿ç¨æ©å±æ- £å 表达å¼ï¼-Eé项已ç»ç±GNU sedæ¯æäºå¾å¤å¹´ï¼ç°å·²åå«äºPOSIXä¸ã

BUGS

请å°é误æ¥ååéè³bug-sed@gnu.orgãå¦å¤ï¼è¯·å¨é®ä»¶æ£æä¸å°½éåå« ‘‘sed --version’’çä¿¡æ¯ã

ä½è

ç± Jay Fenlason, Tom Lord, Ken Pizzini, å Paolo Bonziniåæã GNU sed 主页: <http://www.gnu.org/software/sed/>. ä½¿ç¨ GNU 软件çä¸è¬æ§æå: <http://www.gnu.org/gethelp/>. E-mail bug æ¥åå°: <bug-sed@gnu.org>.

çæ

Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

åè§

awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, ä»»ä½åsedç¸å³ç书ç±ï¼ sed常è§é®é¢(http://sed.sf.net/grabbag/tutorials/sedfaq.txt)ï¼ http://sed.sf.net/grabbag/ã

sed ç宿´ææ¡£æ¯ä½ä¸ºTexinfoæåç»´æ¤çã妿infoåsedç¨åºæ£ç¡®çå®è£ï¼ å¯ä»¥æ§è¡

info sed

å½ä»¤æ¥è®¿é®å®æ´çæåã

è·

æ¬é¡µé¢ä¸æçç±ä¸æ man æå页计åæä¾ã

ç¿»è¯äººåï¼Means Lee
ç¿»è¯æ¥æï¼2017-05-15
åå§è½¯ä»¶ï¼sed
䏿 man æå页计åï¼https://github.com/man-pages-zh/manpages-zh