| ÂÛ̳ע²á| ¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³| RSS
Google
Äúµ±Ç°µÄλÖãºÊ×Ò³ > LinuxƵµÀ > Linux¿ª·¢Çø > SHELL

shell»ù´¡Ê®¶þƪ

ʱ¼ä£º2006-06-28 22:06:04  À´Ô´£º  ×÷Õߣº
£ÁíÒ»ÖÖÌæ»»·½·¨ÊÇʹÓÃÁ½¸ö -e Ñ¡ÏîÀ´Ö¸¶¨Á½¸ö²»Í¬µÄÃüÁ KYKLinuxÁªÃË
KYKLinuxÁªÃË
 $ sed -n -e '=' -e 'p' myfile.txt 
KYKLinuxÁªÃË
KYKLinuxÁªÃË
È»¶ø£¬ÔÚʹÓøüΪ¸´Ôӵĸ½¼ÓºÍ²åÈëÃüÁîʱ£¬ÉõÖÁ¶à¸ö '-e' Ñ¡ÏîÒ²²»ÄܰïÎÒÃǵÄæ¡£¶ÔÓÚ¸´ÔӵĶàÐнű¾£¬×îºÃµÄ·½·¨Êǽ«ÃüÁî·ÅÈëÒ»¸öµ¥¶ÀµÄÎļþÖС£È»ºó£¬Óà-f Ñ¡ÏîÒýÓøýű¾Îļþ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 $ sed -n -f mycommands.sed myfile.txt 
KYKLinuxÁªÃË
KYKLinuxÁªÃË
ÕâÖÖ·½·¨ËäÈ»¿ÉÄܲ»Ì«·½±ã£¬µ«×ÜÊǹÜÓᣠKYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
Ò»¸öµØÖ·µÄ¶à¸öÃüÁî KYKLinuxÁªÃË
ÓÐʱ£¬¿ÉÄÜÒªÖ¸¶¨Ó¦Óõ½Ò»¸öµØÖ·µÄ¶à¸öÃüÁî¡£ÕâÔÚÖ´ÐÐÐí¶à 's///' ÒԱ任ԴÎļþÖеÄ×ÖºÍÓï·¨Ê±ÌØ±ð·½±ã¡£Òª¶ÔÒ»¸öµØÖ·Ö´Ðжà¸öÃüÁ¿ÉÔÚÎļþÖÐÊäÈë sed ÃüÁȻºóʹÓà'{ }' ×Ö·û½«ÕâЩÃüÁî·Ö×飬ÈçÏÂËùʾ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 1,20{ 	s/[Ll]inux/GNU/Linux/g 	s/samba/Samba/g 	s/posix/POSIX/g } 
KYKLinuxÁªÃË
KYKLinuxÁªÃË
ÉÏÀý½«°ÑÈý¸öÌæ»»ÃüÁîÓ¦Óõ½µÚ 1 Ðе½µÚ 20 ÐУ¨°üÀ¨ÕâÁ½ÐУ©¡£»¹¿ÉÒÔʹÓùæÔò±í´ïʽµØÖ·»òÕß¶þÕßµÄ×éºÏ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 1,/^END/{         s/[Ll]inux/GNU/Linux/g         s/samba/Samba/g         s/posix/POSIX/g 	p } 
KYKLinuxÁªÃË
KYKLinuxÁªÃË
¸ÃÀý½«°Ñ '{ }' Ö®¼äµÄËùÓÐÃüÁîÓ¦Óõ½´ÓµÚ 1 ÐпªÊ¼£¬µ½ÒÔ×Öĸ "END" ¿ªÊ¼µÄÐнáÊø£¨Èç¹ûÔÚÔ´ÎļþÖÐû·¢ÏÖ "END"£¬Ôòµ½Îļþ½áÊø£©µÄËùÓÐÐС£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
¸½¼Ó¡¢²åÈëºÍ¸ü¸ÄÐÐ KYKLinuxÁªÃË
¼ÈÈ»ÔÚµ¥¶ÀµÄÎļþÖбàд sed ½Å±¾£¬ÎÒÃÇ¿ÉÒÔÀûÓø½¼Ó¡¢²åÈëºÍ¸ü¸ÄÐÐÃüÁî¡£ÕâЩÃüÁÔÚµ±Ç°ÐÐÖ®ºó²åÈëÒ»ÐУ¬ÔÚµ±Ç°ÐÐ֮ǰ²åÈëÒ»ÐУ¬»òÕßÌæ»»Ä£Ê½¿Õ¼äÖеĵ±Ç°ÐС£ËüÃÇÒ²¿ÉÒÔÓÃÀ´½«¶àÐвåÈëµ½Êä³ö¡£²åÈëÐÐÃüÁîÓ÷¨ÈçÏ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 i This line will be inserted before each line 
KYKLinuxÁªÃË
Èç¹û²»Îª¸ÃÃüÁîÖ¸¶¨µØÖ·£¬ÄÇôËü½«Ó¦Óõ½Ã¿Ò»ÐУ¬²¢²úÉúÈçϵÄÊä³ö£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 This line will be inserted before each line line 1 here 
KYKLinuxÁªÃË
 This line will be inserted before each line line 2 here  KYKLinuxÁªÃË
 This line will be inserted before each line line 3 here  KYKLinuxÁªÃË
 This line will be inserted before each line line 4 here 
KYKLinuxÁªÃË
Èç¹ûÒªÔÚµ±Ç°ÐÐ֮ǰ²åÈë¶àÐУ¬¿ÉÒÔͨ¹ýÔÚǰһÐÐÖ®ºó¸½¼ÓÒ»¸ö·´Ð±¸ÜÀ´Ìí¼Ó¸½¼ÓÐУ¬ÈçÏÂËùʾ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 i insert this line and this one and this one and, uh, this one too. 
KYKLinuxÁªÃË
¸½¼ÓÃüÁîµÄÓ÷¨ÓëÖ®ÀàËÆ£¬µ«ÊÇËü½«°ÑÒ»Ðлò¶àÐвåÈ뵽ģʽ¿Õ¼äÖеĵ±Ç°ÐÐÖ®ºó¡£ÆäÓ÷¨ÈçÏ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 a insert this line after each line.  Thanks! :) 
KYKLinuxÁªÃË
ÁíÒ»·½Ã棬¡°¸ü¸ÄÐС±ÃüÁʵ¼ÊÌæ»»Ä£Ê½¿Õ¼äÖеĵ±Ç°ÐУ¬ÆäÓ÷¨ÈçÏ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 c You're history, original line! Muhahaha! 
KYKLinuxÁªÃË
ÒòΪ¸½¼Ó¡¢²åÈëºÍ¸ü¸ÄÐÐÃüÁîÐèÒªÔÚ¶àÐÐÊäÈ룬ËùÒÔ½«°ÑËüÃÇÊäÈëµ½Ò»¸öÎı¾ sed ½Å±¾ÖУ¬È»ºóͨ¹ýʹÓà'-f' Ñ¡Ïî¸æËß sed Ö´ÐÐËüÃÇ¡£Ê¹ÓÃÆäËü·½·¨½«ÃüÁî´«µÝ¸ø sed »á³öÏÖÎÊÌâ¡£KYKLinuxÁªÃË
Îı¾×ª»» KYKLinuxÁªÃË
µÚÒ»¸öʵ¼Ê½Å±¾½« UNIX ·ç¸ñµÄÎı¾×ª»»³É DOS/Windows ¸ñʽ¡£Äú¿ÉÄÜÖªµÀ£¬»ùÓÚ DOS/Windows µÄÎı¾ÎļþÔÚÿһÐÐĩβÓÐÒ»¸ö CR£¨»Ø³µ£©ºÍ LF£¨»»ÐУ©£¬¶ø UNIX Îı¾Ö»ÓÐÒ»¸ö»»ÐС£ÓÐʱ¿ÉÄÜÐèÒª½«Ä³Ð© UNIX Îı¾ÒÆÖÁ Windows ÏµÍ³£¬¸Ã½Å±¾½«ÎªÄúÖ´ÐбØÐèµÄ¸ñʽת»»¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
 $ sed -e 's/$/r/' myunix.txt > mydos.txt  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
Ôڸýű¾ÖУ¬'$' ¹æÔò±í´ïʽ½«ÓëÐеÄĩβƥÅ䣬¶ø 'r' ¸æËß sed ÔÚÆä֮ǰ²åÈëÒ»¸ö»Ø³µ¡£ÔÚ»»ÐÐ֮ǰ²åÈë»Ø³µ£¬Á¢¼´£¬Ã¿Ò»ÐоÍÒÔ CR/LF ½áÊø¡£Çë×¢Ò⣬½öµ±Ê¹ÓàGNU sed 3.02.80 »òÒÔºóµÄ°æ±¾Ê±£¬²Å»áÓàCR Ìæ»» 'r'¡£Èç¹û»¹Ã»Óа²×° GNU sed 3.02.80£¬ÇëÔÚÎҵĵÚһƪ sed ÎÄÕÂÖв鿴ÈçºÎÕâÑù×öµÄ˵Ã÷¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
ÎÒÒѼDz»ÇåÓжàÉÙ´ÎÔÚÏÂÔØÒ»Ð©Ê¾Àý½Å±¾»ò C ´úÂëÖ®ºó£¬È´·¢ÏÖËüÊÇ DOS/Windows ¸ñʽ¡£ËäÈ»ºÜ¶à³ÌÐò²»ÔÚºõ DOS/Windows ¸ñʽµÄ CR/LF Îı¾Îļþ£¬µ«ÊÇÓм¸¸ö³ÌÐòÈ´ÔÚºõ -- ×îÖøÃûµÄÊÇ bash£¬Ö»ÒªÒ»Óöµ½»Ø³µ£¬Ëü¾Í»á³öÎÊÌâ¡£ÒÔÏ sed µ÷Óý«°Ñ DOS/Windows ¸ñʽµÄÎı¾×ª»»³É¿ÉÐÅÀµµÄ UNIX ¸ñʽ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 $ sed -e 's/.$//' mydos.txt > myunix.txt  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
¸Ã½Å±¾µÄ¹¤×÷Ô­ÀíºÜ¼òµ¥£ºÌæ´ú¹æÔò±í´ïʽÓëÒ»ÐеÄ×îÄ©×Ö·ûÆ¥Å䣬¶ø¸Ã×Ö·ûÇ¡ºÃ¾ÍÊǻسµ¡£ÎÒÃÇÓÿÕ×Ö·ûÌæ»»Ëü£¬´Ó¶ø½«Æä´ÓÊä³öÖг¹µ×ɾ³ý¡£Èç¹ûʹÓøýű¾²¢×¢Òâµ½ÒѾ­É¾³ýÁËÊä³öÖÐÿÐеÄ×îÄ©×Ö·û£¬ÄÇô£¬Äú¾ÍÖ¸¶¨ÁËÒѾ­ÊÇ UNIX ¸ñʽµÄÎı¾Îļþ¡£Ò²¾Íû±ØÒªÄÇÑù×öÁË£¡ KYKLinuxÁªÃË
KYKLinuxÁªÃË
·´×ªÐÐ KYKLinuxÁªÃË
ÏÂÃæÊÇÁíÒ»¸ö·½±ãµÄС½Å±¾¡£Óë´ó¶àÊý Linux ·¢ÐаæÖаüÀ¨µÄ "tac" ÃüÁîÒ»Ñù£¬¸Ã½Å±¾½«·´×ªÎļþÖÐÐеĴÎÐò¡£"tac" Õâ¸öÃû³Æ¿ÉÄÜ»á¸øÈËÒÔÎóµ¼£¬ÒòΪ "tac" ²»·´×ªÐÐÖÐ×Ö·ûµÄλÖã¨×óºÍÓÒ£©£¬¶øÊÇ·´×ªÎļþÖÐÐеÄλÖã¨ÉϺÍÏ£©¡£Óà"tac" ´¦ÀíÒÔÏÂÎļþ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 foo bar oni  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
....½«²úÉúÒÔÏÂÊä³ö£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 oni bar foo  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
¿ÉÒÔÓÃÒÔÏ sed ½Å±¾´ïµ½ÏàͬĿµÄ£º  KYKLinuxÁªÃË
KYKLinuxÁªÃË
 $ sed -e '1!G;h;$!d' forward.txt > backward.txt  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
Èç¹ûµÇ¼µ½Ç¡ÇÉûÓР"tac" ÃüÁîµÄ FreeBSD ÏµÍ³£¬½«·¢Ïָàsed ½Å±¾ºÜÓÐÓá£ËäÈ»·½±ã£¬µ«×îºÃ»¹ÊÇÖªµÀ¸Ã½Å±¾ÎªÊ²Ã´ÄÇÑù×ö¡£ÈÃÎÒÃǶÔËü½øÐÐÌÖÂÛ¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
·´×ª½âÊÍ KYKLinuxÁªÃË
Ê×ÏÈ£¬¸Ã½Å±¾°üº¬Èý¸öÓɷֺŸô¿ªµÄµ¥¶À sed ÃüÁ'1!G'¡¢'h' ºÍ '$!d'¡£ÏÖÔÚ£¬ÐèÒªºÃºÃÀí½âÓÃÓÚµÚÒ»¸öºÍµÚÈý¸öÃüÁîµÄµØÖ·¡£Èç¹ûµÚÒ»¸öÃüÁîÊÇ '1G'£¬Ôò 'G' ÃüÁֻӦÓõÚÒ»ÐС£È»¶ø£¬»¹ÓÐÒ»¸ö '!' ×Ö·û -- ¸Ã '!' ×Ö·ûºöÂԸõØÖ·£¬¼´£¬'G' ÃüÁӦÓõ½³ýµÚÒ»ÐÐÖ®ÍâµÄËùÓÐÐС£'$!d' ÃüÁîÓëÖ®ÀàËÆ¡£Èç¹ûÃüÁîÊÇ '$d'£¬Ôò½«Ö»°Ñ 'd' ÃüÁîÓ¦Óõ½ÎļþÖеÄ×îºóÒ»ÐУ¨'$' µØÖ·ÊÇÖ¸¶¨×îºóÒ»Ðеļòµ¥·½Ê½£©¡£È»¶ø£¬ÓÐÁË '!' Ö®ºó£¬'$!d' ½«°Ñ 'd' ÃüÁîÓ¦Óõ½³ý×îºóÒ»ÐÐÖ®ÍâµÄËùÓÐÐС£ÏÖÔÚ£¬ÎÒÃÇËùÒªÀí½âµÄÊÇÕâЩÃüÁî±¾Éí×öʲô¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
µ±¶ÔÉÏÃæµÄÎı¾ÎļþÖ´Ðз´×ª½Å±¾Ê±£¬Ê×ÏÈÖ´ÐеÄÃüÁîÊÇ 'h'¡£¸ÃÃüÁî¸æËß sed ½«Ä£Ê½¿Õ¼ä£¨±£´æÕýÔÚ´¦ÀíµÄµ±Ç°ÐеĻº³åÇø£©µÄÄÚÈݸ´ÖƵ½±£Áô¿Õ¼ä£¨ÁÙʱ»º³åÇø£©¡£È»ºó£¬Ö´ÐР'd' ÃüÁ¸ÃÃüÁî´Óģʽ¿Õ¼äÖÐɾ³ý "foo"£¬ÒÔ±ãÔÚ¶ÔÕâÒ»ÐÐÖ´ÐÐÍêËùÓÐÃüÁîÖ®ºó²»´òÓ¡Ëü¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
ÏÖÔÚ£¬µÚ¶þÐС£ÔÚ½« "bar" ¶ÁÈëģʽ¿Õ¼äÖ®ºó£¬Ö´ÐР'G' ÃüÁ¸ÃÃüÁ±£Áô¿Õ¼äµÄÄÚÈÝ ("foon") ¸½¼Óµ½Ä£Ê½¿Õ¼ä ("barn")£¬Ê¹Ä£Ê½¿Õ¼äµÄÄÚÈÝΪ "barnfoon"¡£'h' ÃüÁ¸ÃÄÚÈݷŻر£Áô¿Õ¼ä±£»¤ÆðÀ´£¬È»ºó£¬'d' ´Óģʽ¿Õ¼äɾ³ý¸ÃÐУ¬ÒԱ㲻´òÓ¡Ëü¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
¶ÔÓÚ×îºóµÄ "oni" ÐУ¬³ýÁ˲»É¾³ýģʽ¿Õ¼äµÄÄÚÈÝ£¨ÓÉÓÚ 'd' Ö®Ç°µÄ '$!'£©ÒÔ¼°½«Ä£Ê½¿Õ¼äµÄÄÚÈÝ£¨ÈýÐУ©´òÓ¡µ½±ê×¼Êä³öÖ®Íâ£¬ÖØ¸´Í¬ÑùµÄ²½Öè¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
ÏÖÔÚ£¬ÒªÓàsed Ö´ÐÐһЩǿ´óµÄÊý¾Ýת»»¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
sed QIF Ä§·¨ KYKLinuxÁªÃË
¹ýÈ¥¼¸¸öÐÇÆÚ£¬ÎÒÒ»Ö±ÏëÂòÒ»·Ý Quicken À´½áËãÎÒµÄÒøÐÐÕÊ»§¡£Quicken ÊÇÒ»¸ö·Ç³£ºÃµÄ½ðÈÚ³ÌÐò£¬µ±È»»á³É¹¦µØÍê³ÉÕâÏ×÷¡£µ«ÊÇ£¬¾­¹ý¿¼ÂÇÖ®ºó£¬ÎÒ¾õµÃ×Ô¼º¿ÉÒÔÇáÒ×±àдij¸öÈí¼þÀ´½áËãÎÒµÄ֧Ʊ²¾¡£ÎÒÏ룬±Ï¾¹£¬ÎÒÊǸöÈí¼þ¿ª·¢ÈËÔ±£¡ KYKLinuxÁªÃË
KYKLinuxÁªÃË
ÎÒ¿ª·¢ÁËÒ»¸öºÜºÃµÄСÐÍ֧Ʊ²¾½áËã³ÌÐò£¨Ê¹Óàawk£©£¬Ëüͨ¹ý·ÖÎö°üº¬ÎÒµÄËùÓн»Ò×µÄÎı¾ÎļþµÄÓï·¨À´¼ÆËãÓà¶î¡£ÂÔ΢µ÷ÕûÖ®ºó£¬ÎÒ½«Æä¸Ä½ø£¬ÒÔ±ã¿ÉÒÔÏó Quicken ÄÇÑù¸ú×Ù²»Í¬µÄ´û¿îºÍ½è¿îÀà±ð¡£µ«ÊÇ£¬ÎÒ»¹ÒªÌí¼ÓÒ»¸öÌØÐÔ¡£×î½ü£¬ÎÒ½«ÕÊ»§×ªÒƵ½Ò»¼ÒÓÐÁª»ú Web ÕÊ»§½çÃæµÄÒøÐС£ÓÐÒ»Ì죬ÎÒ×¢Òâµ½£¬Õâ¼ÒÒøÐеĠWeb Õ¾µãÔÊÐíÒÔ Quicken µÄ .QIF ¸ñʽÏÂÔØÎÒµÄÕÊ»§ÐÅÏ¢¡£ÎÒÂíÉϾõµÃ£¬Èç¹û¿ÉÒÔ½«¸ÃÐÅϢת»»³ÉÎı¾¸ñʽ£¬ÄǾÍÌ«°ôÁË¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
Á½ÖÖ¸ñʽµÄ¹ÊÊ KYKLinuxÁªÃË
Ôڲ鿴 QIF ¸ñʽ֮ǰ£¬ÏÈ¿´Ò»ÏÂÎҵĠcheckbook.txt ¸ñʽ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 28 Aug 2000     food    -       -       Y     Supermarket             30.94 25 Aug 2000     watr    -       103     Y     Check 103               52.86  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
ÔÚÎÒµÄÎļþÖУ¬ËùÓÐ×ֶζ¼ÓÉÒ»¸ö»ò¶à¸öÖÆ±í·û·Ö¿ª£¬Ã¿¸ö½»Ò×Õ¼¾ÝÒ»ÐС£ÈÕÆÚÖ®ºóµÄÏÂÒ»¸ö×Ö¶ÎÁгöÖ§³öÀàÐÍ£¨Èç¹ûÊÇÊÕÈëÏÔòΪ "-"£©¡£µÚÈý¸ö×Ö¶ÎÁгöÊÕÈëÀàÐÍ£¨Èç¹ûÊÇÖ§³öÏÔòΪ "-"£©¡£È»ºó£¬ÊÇÒ»¸ö֧ƱºÅ×ֶΣ¨Èç¹ûΪ¿Õ£¬Ôò»¹ÊÇ "-"£©£¬Ò»¸ö½»Ò×Íê³É×ֶΣ¨"Y" »ò "N"£©£¬Ò»¸ö×¢ÊͺÍÒ»¸öÃÀÔª½ð¶î×ֶΡ£ÏÖÔÚ£¬ÈÃÎÒÃÇ¿´Ò»Ï QIF ¸ñʽ¡£µ±ÓÃÎı¾²é¿´Æ÷²é¿´ÏÂÔØµÄ QIF Îļþʱ£¬Ëü¿´ÆðÀ´ÈçÏ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 !Type:Bank D08/28/2000 T-8.15 N PCHECKCARD SUPERMARKET ^ D08/28/2000 T-8.25 N PCHECKCARD PUNJAB RESTAURANT ^ D08/28/2000 T-17.17 N PCHECKCARD SUPERMARKET  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
ä¯ÀÀ¹ýÎļþÖ®ºó£¬²»ÄѲ³öÆä¸ñʽ -- ºöÂÔµÚÒ»ÐУ¬ÆäÓàµÄ¸ñʽÈçÏ£º  KYKLinuxÁªÃË
KYKLinuxÁªÃË
 D<Êý¾Ý>   KYKLinuxÁªÃË
T<½»Ò×Á¿>   KYKLinuxÁªÃË
N<֧ƱºÅ>   KYKLinuxÁªÃË
P<ÃèÊö>   KYKLinuxÁªÃË
^   £¨ÕâÊÇ×ֶηָô·û£©  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
¿ªÊ¼´¦Àí KYKLinuxÁªÃË
ÔÚ´¦ÀíÏóÕâÑùÖØÒªµÄ sed ÏîĿʱ£¬²»ÒªÆøÄÙ -- sed ÔÊÐíÄú½«Êý¾ÝÖð½¥Ð޸ijÉ×îÖÕÐÎʽ¡£ÔÚ½øÐе±ÖУ¬¿ÉÒÔ¼ÌÐøÏ¸»¯ sed ½Å±¾£¬Ö±µ½Êä³öÓëÔ¤ÆÚµÄÍêȫһÑùΪֹ¡£ÎÞÐèÔÚÊÔµÚÒ»´Îʱ¾Í±£Ö¤ÆäÍêÈ«ÕýÈ·¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
Òª¿ªÊ¼£¬Ê×ÏÈ´´½¨Ò»¸öÃûΪ "qiftrans.sed" µÄÎļþ£¬È»ºó¿ªÊ¼ÐÞ¸ÄÊý¾Ý£º  KYKLinuxÁªÃË
KYKLinuxÁªÃË
 1d /^^/d s/[[]]//g  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
µÚÒ»¸ö '1d' ÃüÁîɾ³ýµÚÒ»ÐУ¬µÚ¶þ¸öÃüÁî´ÓÊä³ö³ýÈ¥ÄÇЩÌÖÑáµÄ '^' ×Ö·û¡£×îºóÒ»ÐгýÈ¥ÎļþÖпÉÄÜ´æÔÚµÄÈκοØÖÆ×Ö·û¡£¼ÈÈ»ÔÚ´¦ÀíÍâÀ´Îļþ¸ñʽ£¬ÎÒÏëÏû³ýÔÚÖÐ;Óöµ½ÈκοØÖÆ×Ö·ûµÄ·çÏÕ¡£µ½Ä¿Ç°ÎªÖ¹£¬Ò»ÇÐ˳Àû¡£ÏÖÔÚ£¬ÒªÏò¸Ã»ù±¾½Å±¾ÖÐÌí¼ÓһЩ´¦Àí¹¦ÄÜ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 1d /^^/d s/[[]]//g /^D/ {  KYKLinuxÁªÃË
 s/^D(.*)/1tOUTYtINNYt/  KYKLinuxÁªÃË
 s/^01/Jan/         s/^02/Feb/ KYKLinuxÁªÃË
 s/^03/Mar/         s/^04/Apr/ KYKLinuxÁªÃË
 s/^05/May/         s/^06/Jun/  KYKLinuxÁªÃË
 s/^07/Jul/         s/^08/Aug/  KYKLinuxÁªÃË
 s/^09/Sep/         s/^10/Oct/ KYKLinuxÁªÃË
 s/^11/Nov/         s/^12/Dec/  KYKLinuxÁªÃË
 s:^(.*)/(.*)/(.*):2 1 3:  }  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
Ê×ÏÈ£¬Ìí¼ÓÒ»¸ö '/^D/' µØÖ·£¬ÒÔ±ã sed Ö»ÔÚÓöµ½ QIF Êý¾Ý×ֶεĵÚÒ»¸ö×Ö·û 'D' Ê±²Å¿ªÊ¼´¦Àí¡£µ± sed ½«ÕâÑùÒ»ÐжÁÈëÆäģʽ¿Õ¼äʱ£¬½«°´Ë³ÐòÖ´Ðл¨À¨ºÅÖеÄËùÓÐÃüÁî¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
»¨À¨ºÅÖеĵÚÒ»¸öÃüÁ°ÑÈçÏÂÐУº KYKLinuxÁªÃË
KYKLinuxÁªÃË
 D08/28/2000  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
±ä»»³É£º  KYKLinuxÁªÃË
KYKLinuxÁªÃË
 08/28/2000 OUTY INNY  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
µ±È»£¬ÏÖÔڵĸñʽ»¹²»ÍêÃÀ£¬µ«Ã»¹ØÏµ¡£ÎÒÃǽ«ÔÚ½øÐйý³ÌÖÐÖð½¥Ï¸»¯Ä£Ê½¿Õ¼äµÄÄÚÈÝ¡£ºóÃæ 12 ÐеÄ×îºóЧ¹ûÊǽ«Êý¾Ý±ä»»³ÉÈý¸ö×ÖĸµÄ¸ñʽ£¬×îºóÒ»ÐдÓÊý¾ÝÖгýÈ¥Èý¸öб¸Ü¡£×îºóµÃµ½ÕâÒ»ÐУº KYKLinuxÁªÃË
KYKLinuxÁªÃË
 Aug 28 2000 OUTY INNY  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
OUTY ºÍ INNY ×Ö¶ÎÊÇռλ·û£¬ÒԺ󽫱»Ìæ»»¡£ÏÖÔÚ»¹²»ÄÜÈ·¶¨ËüÃÇ£¬ÒòΪÈç¹ûÃÀÔª½ð¶îΪ¸º£¬½«°Ñ OUTY ºÍ INNY ÉèÖóɠ"misc" ºÍ "-"£¬µ«ÊÇ£¬Èç¹ûÃÀÔª½ð¶îΪÕý£¬½«·Ö±ð°ÑËüÃǸü¸Ä³É "-" ºÍ "inco"¡£¼ÈÈ»»¹Ã»ÓжÁÈëÃÀÔª½ð¶î£¬ËùÒÔ£¬ÐèÒªÔÝʱʹÓÃռλ·û¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
ϸ»¯ KYKLinuxÁªÃË
ÏÖÔÚ½øÒ»²½Ï¸»¯£º  KYKLinuxÁªÃË
KYKLinuxÁªÃË
 1d  /^^/d s/[[]]//g  /^D/ { KYKLinuxÁªÃË
 s/^D(.*)/1tOUTYtINNYt/  KYKLinuxÁªÃË
 s/^01/Jan/          s/^02/Feb/ KYKLinuxÁªÃË
         s/^03/Mar/          s/^04/Apr/ KYKLinuxÁªÃË
 s/^05/May/          s/^06/Jun/ KYKLinuxÁªÃË
 s/^07/Jul/          s/^08/Aug/ KYKLinuxÁªÃË
 s/^09/Sep/          s/^10/Oct/ KYKLinuxÁªÃË
 s/^11/Nov/          s/^12/Dec/ KYKLinuxÁªÃË
 s:^(.*)/(.*)/(.*):2 1 3: KYKLinuxÁªÃË
 N          N          N           KYKLinuxÁªÃË
 s/nT(.*)nN(.*)nP(.*)/NUM2NUMttYtt3tAMT1AMT/ KYKLinuxÁªÃË
 s/NUMNUM/-/          s/NUM([0-9]*)NUM/1/ KYKLinuxÁªÃË
 s/([0-9]),/1/  }  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
ºóÆßÐÐÓÐЩ¸´ÔÓ£¬ËùÒÔ½«ÏêϸÌÖÂÛËüÃÇ¡£Ê×ÏÈ£¬Á¬ÐøÊ¹ÓÃÈý¸ö 'N' ÃüÁî¡£'N' ÃüÁî¸æËß sed ½«ÏÂÒ»ÐжÁÈëÊäÈëÖУ¬È»ºó½«Æä¸½¼Óµ½µ±Ç°Ä£Ê½¿Õ¼ä¡£ÕâÈý¸ö 'N' ÃüÁîµ¼Ö½«ÏÂÈýÐи½¼Óµ½µ±Ç°Ä£Ê½¿Õ¼ä»º³åÇø£¬ÏÖÔÚÕâÒ»Ðп´ÆðÀ´ÈçÏ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 28 Aug 2000 OUTY INNY nT-8.15nNnPCHECKCARD SUPERMARKET  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
sed µÄģʽ¿Õ¼ä±äµÃºÜÄÑ¿´ -- ÐèÒª³ýÈ¥¶îÍâµÄÐÂÐУ¬²¢Ö´ÐÐijЩ¸½¼ÓµÄ¸ñʽ»¯¡£ÒªÕâÑù×ö£¬½«Ê¹ÓÃÌæ´úÃüÁҪƥÅäµÄģʽΪ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 'nT.*nN.*nP.*'  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
Õ⽫ÓëºóÃæÒÀ´Î¸úÓР'T'¡¢Áã»ò¶à¸ö×Ö·û¡¢ÐÂÐС¢'N'¡¢ÈκÎÊýÁ¿µÄ×Ö·û¡¢ÐÂÐС¢'P'¡¢ÒÔ¼°ÈκÎÊýÁ¿×Ö·ûµÄÐÂÐÐÆ¥Å䡣ѽ£¡Õâ¸ö¹æÔò±í´ïʽ½«Óë¸Õ¸Õ¸½¼Óµ½Ä£Ê½¿Õ¼äµÄÈýÐеÄÈ«²¿ÄÚÈÝÆ¥Åä¡£µ«ÎÒÃÇÒªÖØÐ¸ñʽ»¯¸ÃÇøÓò£¬¶ø²»ÊÇÕû¸öÌæ»»Ëü¡£ÃÀÔª½ð¶î¡¢Ö§Æ±ºÅ£¨Èç¹ûÓеϰ£©ºÍÃèÊöÐèÒª³öÏÖÔÚÌæ»»×Ö·û´®ÖС£ÒªÕâÑù×ö£¬ÎÒÃÇÓôøÓз´Ð±¸ÜµÄÔ²À¨ºÅÀ¨ÆðÄÇЩ¡°¸ÐÐËȤ²¿·Ö¡±£¬ÒÔ±ã¿ÉÒÔÔÚÌæ»»×Ö·û´®ÖÐÒýÓÃËüÃÇ£¨Ê¹Óà'1'¡¢'2 ºÍ '3' À´¸æËß sed ½«ËüÃDzåÈëµ½ºÎ´¦£©¡£ÒÔÏÂÊÇ×îºóµÄÃüÁ KYKLinuxÁªÃË
KYKLinuxÁªÃË
 s/nT(.*)nN(.*)nP(.*)/NUM2NUMttYtt3tAMT1AMT/   KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
¸ÃÃüÁÎÒÃǵÄÐб任³É£º  KYKLinuxÁªÃË
KYKLinuxÁªÃË
  28 Aug 2000  OUTY  INNY  NUMNUM    Y    CHECKCARD SUPERMARKET  AMT-8.15AMT  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
ËäÈ»¸ÃÐÐÕý±äµÃºÃһЩ£¬µ«ÊÇ£¬Óм¸¼þÊÂÒ»¿´¾ÍÓеã...°¡...ÓÐȤ¡£Ê×ÏÈÊÇÄǸöÓÞ´ÀµÄ "NUMNUM" ×Ö·û´® -- ÆäÄ¿µÄºÎÔÚ£¿Èç¹û²é¿´ sed ½Å±¾µÄºóÁ½ÐУ¬¾Í»á·¢ÏÖÆäÄ¿µÄ£¬ºóÁ½Ðн«°Ñ "NUMNUM" Ìæ»»³É "-"£¬¶ø°Ñ "NUM"<number>"NUM" Ìæ»»³É <number>¡£ÈçÄúËù¼û£¬ÓÃÓÞ´ÀµÄ±ê¼ÇÀ¨Æð֧ƱºÅÔÊÐíÎÒÃÇÔÚ¸Ã×Ö¶ÎΪ¿Õʱ·½±ãµØ²åÈëÒ»¸ö "-"¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
½áÊø³¢ÊÔ KYKLinuxÁªÃË
×îºóÒ»ÐгýÈ¥Êý×ÖºóµÄ¶ººÅ¡£Ëü°ÑÈç "3,231.00" ÕâÑùµÄÃÀÔª½ð¶îת»»³ÉÎÒʹÓõĸñʽ "3231.00"¡£ÏÖÔÚ£¬ÈÃÎÒÃÇ¿´Ò»ÏÂ×îÖսű¾£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
×îÖյġ°QIF µ½Îı¾¡±½Å±¾  1d /^^/d s/[[]]//g /^D/ {  s/^D(.*)/1tOUTYtINNYt/  KYKLinuxÁªÃË
 s/^01/Jan/  s/^02/Feb/  s/^03/Mar/  s/^04/Apr/  s/^05/May/  KYKLinuxÁªÃË
 s/^06/Jun/  s/^07/Jul/  s/^08/Aug/  s/^09/Sep/  s/^10/Oct/  KYKLinuxÁªÃË
 s/^11/Nov/  s/^12/Dec/  s:^(.*)/(.*)/(.*):2 1 3:  KYKLinuxÁªÃË
 N  N  N  s/nT(.*)nN(.*)nP(.*)/NUM2NUMttYtt3tAMT1AMT/  KYKLinuxÁªÃË
 s/NUMNUM/-/  s/NUM([0-9]*)NUM/1/  s/([0-9]),/1/  KYKLinuxÁªÃË
 /AMT-[0-9]*.[0-9]*AMT/b fixnegs  KYKLinuxÁªÃË
 s/AMT(.*)AMT/1/  s/OUTY/-/  s/INNY/inco/  KYKLinuxÁªÃË
 b done :fixnegs  s/AMT-(.*)AMT/1/  s/OUTY/misc/  KYKLinuxÁªÃË
 s/INNY/-/ :done }  KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
¸½¼ÓµÄʮһÐÐʹÓÃÌæ´úºÍһЩ·ÖÖ§¹¦ÄÜÀ´ÃÀ»¯Êä³ö¡£Ê×ÏÈ¿´Ò»ÏÂÕâÐУº  KYKLinuxÁªÃË
KYKLinuxÁªÃË
         /AMT-[0-9]*.[0-9]*AMT/b fixnegs   KYKLinuxÁªÃË
  KYKLinuxÁªÃË
KYKLinuxÁªÃË
KYKLinuxÁªÃË
¸ÃÐаüº¬Ò»¸ö¸ñʽΪ "/regexp/b label" µÄ·ÖÖ§ÃüÁî¡£Èç¹ûģʽ¿Õ¼äÓë¹æÔò±í´ïʽƥÅ䣬sed ½«·ÖÖ§µ½ fixnegs ±êºÅ¡£ÄúÓ¦¸Ã¿ÉÒÔÇáÒ×ÕÒµ½¸Ã±êºÅ£¬ËüÔÚ´úÂëÖÐΪ ":fixnegs"¡£Èç¹û¹æÔò±í´ïʽ²»Æ¥Å䣬ÔòÒÔ³£¹æ·½Ê½¼ÌÐø´¦ÀíÏÂÒ»¸öÃüÁî¡£ KYKLinuxÁªÃË
KYKLinuxÁªÃË
¼ÈÈ»ÄúÀí½â¸ÃÃüÁî±¾ÉíµÄ¹¤×÷Ô­Àí£¬ÈÃÎÒÃÇ¿´Ò»Ï·ÖÖ§¡£Èç¹û¿´Ò»Ï·ÖÖ§¹æÔò±í´ïʽ£¬½«¿´µ½ËüÓëºóÃæÒÀ´Î¸úÓР'-'¡¢ÈÎÒâÊýÁ¿µÄÊý×Ö¡¢Ò»¸ö '.'¡¢ÈÎÒâÊýÁ¿µÄÊý×ֺ͠'AMT' µÄ×Ö·û´® 'AMT' Æ¥Åä¡£¾ÍÏóÎÒÈ·ÐÅÄúÒѲµ½Ò»Ñù£¬¸Ã¹æÔò±í´ïʽרÃÅ´¦Àí¸ºµÄÃÀÔª½ð¶î¡£ÔÚÕâ֮ǰ£¬Óà'ATM' À¨ÆðÃÀÔª½ð¶î£¬ÒÔ±ãÒÔºó¿ÉÒÔÇáÒ×ÕÒµ½Ëü¡£ÒòΪ¹æÔò±í´ïʽֻÓëÒÔ '-' ¿ªÊ¼µÄÃÀÔª½ð¶îÆ¥Å䣬ËùÒÔ£¬¸Ã·ÖÖ§Ö»ÔÚÇ¡ÇÉ´¦Àí½è¿îʱ²Å·¢Éú¡£Èç¹ûÕý´¦Àí´û¿î£¬Ó¦¸Ã½« OUTY ÉèÖóɠ'misc'£¬½« INNY ÉèÖóɠ'-'£¬²¢ÇÒÓ¦¸Ã³ýÈ¥´û¿îÊýÁ¿Ç°ÃæµÄ¸ººÅ¡£Èç¹û¸ú×Ù´úÂëµÄÁ÷³Ì£¬½«¿´µ½Êµ¼ÊÇé¿öÕýÊÇÕâÑù¡£Èç¹û²»Ö´ÐзÖÖ§£¬ÔòÓà'-' Ìæ»» OUTY£¬Óà'inco' Ìæ»» INNY¡£Íê³ÉÁË£¡ÏÖÔÚÊä³öÐÐÊÇÍêÃÀµÄ£º KYKLinuxÁªÃË
KYKLinuxÁªÃË
 28 Aug 2000 misc - -       Y     CHECKCARD SUPERMARKET  -8.15KYKLinuxÁªÃË
man sed KYKLinuxÁªÃË
KYKLinuxÁªÃË
-n, --quiet, --silent
KYKLinuxÁªÃË
                                                                                 KYKLinuxÁªÃË
              suppress automatic printing of pattern space KYKLinuxÁªÃË
KYKLinuxÁªÃË
Ç°Ãæ¾Ù¹ýÀý×Ó£º KYKLinuxÁªÃË
[sam@Linux_chenwy sam]$ sed -n '2p' quote.txt  KYKLinuxÁªÃË
It was an evening of splendid music and company. KYKLinuxÁªÃË
Èç¹ûûÓÐ-n,¾Í°ÑÆäËüµÄ¶¼´òÓ¡³öÀ´ÁË
KYKLinuxÁªÃË
                                                                                 KYKLinuxÁªÃË
-e script, --expression=script
KYKLinuxÁªÃË
KYKLinuxÁªÃË
              add the script to the commands to be executed KYKLinuxÁªÃË
KYKLinuxÁªÃË
ºÇ£

À´¶¥Ò»ÏÂ
½ü»ØÊ×Ò³
·µ»ØÊ×Ò³
·¢±íÆÀÂÛ ¹²ÓÐÌõÆÀÂÛ
Óû§Ãû: ÃÜÂë:
ÑéÖ¤Âë: ÄäÃû·¢±í
Ïà¹ØÎÄÕÂ
    ÎÞÏà¹ØÐÅÏ¢
À¸Ä¿¸üÐÂ
À¸Ä¿ÈÈÃÅ