ºìÁªLinuxÃÅ»§
Linux°ïÖú

½Ò¿ªsedÃüÁîµÄÃæÉ´ Ä㻹ÄÜ×ö¸ü¶à

·¢²¼Ê±¼ä:2012-02-01 15:00:02À´Ô´:ºìÁª×÷Õß:bretxn
¡¡¡¡À´Ô´£ºTechTargetÖйú

¡¡¡¡±íÃæÉÏ¿´£¬UnixÁ÷±à¼­Æ÷(sed)¿ÉÄÜ¿´ÉÏÈ¥Ö»ÊÇÒ»¸öκ͵ÄÎı¾±à¼­Æ÷¡£µ«ÊÇÔÚËüƽ¾²µÄÍâ±íÖ®ÏÂÓÐ×ÅÇ¿´óµÄ¹¦ÄÜ£¬¿ÉÒÔ×÷Ϊ¸ß¼¶¹¦ÄÜÀ´°ïÖú¹ÜÀíÄãµÄÊý¾ÝÖÐÐÄ×ÊÔ´£¬¶øÄãÖ»ÓÃÇû÷¼¸¸ö¼ü¡£ÕâƪÎÄÕ¾ͽ«ÎªÄã½Ò¿ªsedÖÐijЩǿ´ó¹¦ÄܵÄÉñÃØÃæÉ´¡£

¡¡¡¡sed°¸Àý

¡¡¡¡ÎªÊ²Ã´ÊÇsedÄØ?ÏñviÒ»ÑùµÄÆÕͨ±à¼­Æ÷Ò²¿ÉÒÔÐÞ¸ÄÎı¾Îļþ¡£²»Í¬ÔÚÓÚsedͬʱ´¦Àí¶à¸öÎļþʱ¸ü¸ßЧ¡£ÓÃÆäËü±à¼­Æ÷ÒÔͬһ;¾¶¹ýÂËÎı¾µÄÄÜÁ¦ÊǸöδ֪Êý¡£sedµÄĬÈÏÐÐΪÊÇÖðÐеسõ²éÊäÈëÎļþ£¬½«ÃüÁîÓ¦Óõ½ÕâЩÐÐÉϲ¢½«½á¹ûдÈë±ê×¼Êä³ö¡£ÎªÁËÖ´ÐÐÕâЩÃüÁsedʹÓÃÕýÔò±í´ïʽ¡£ÏÂÃæÈÃÎÒÃÇÀ´¿´¿´Listing 1ÖÐÄãÄÜ¿´µ½µÄÓ¦Óõ½ÎļþUsersµÄÀý×Ó£º

¡¡¡¡my-computer:~> cat users

¡¡¡¡lori:x:1006:100::/home/lori:/bin/bash

¡¡¡¡linda:x:1007:100::/home/linda:/bin/bash

¡¡¡¡lydia:x:1008:100::/home/lydia:/bin/bash

¡¡¡¡lisa:x:1009:100::/home/lisa:/bin/bash

¡¡¡¡leonora:x:1010:100:/home/leonora:/bin/bash

¡¡¡¡Listing 1

¡¡¡¡ÎªÁËÆô¶¯£¬Äã¿ÉÒÔÖ»ÏÔʾʾÀýÎļþÖеļ¸ÐУ¬ÏÂÃæµÄÃüÁîÏÔʾͷÁ½ÐÐÊ¡ÏÂÁ˺óÃæµÄ£º

¡¡¡¡sed 2q users

¡¡¡¡¸üʵÓõÄÊÇÏÂÃæµÄÃüÁËüÁгöÁË°üÀ¨or×Ö·û´®ÔÚÄÚµÄËùÓÐÐУº

¡¡¡¡sed -n /or/p users

¡¡¡¡ÔÚÕâ¸öÀý×ÓÖУ¬-nÊÇorËÑË÷×Ö·û´®ºóµÄÇ¿ÖÆÑ¡Ïî¡£ÔÚÕâ¸ö×Ö·û´®ºóÃ棬pÃüÁîÁгö½á¹û¡£ÔÚÕâ¸öÀý×ÓÖУ¬ÄãÒѾ­²éѯÁËor×Ö·û´®¡£sedʹÓÃÕýÔò±í´ïʽ£¬Õâ¸öÇ¿´óµÄËÑË÷ģʽ¿ÉÒÔÔÚLinuxºÍUnix»·¾³ÖÐʹÓã¬ËüÄÜÈÃÄãµÄËÑË÷¸üÁé»î¡£ÏÂÃæÊÇʹÓÃÕýÔò±í´ïʽµÄһЩÀý×Ó£º

¡¡¡¡sed -n /^or/p users£ºÏÔʾ²»°üÀ¨Îı¾orµÄËùÓÐÐС£

¡¡¡¡sed -n /./p users: ÏÔʾÖÁÉÙ°üÀ¨Ò»¸ö×Ö·ûµÄËùÓÐÐС£

¡¡¡¡sed -n /\./p users£ºÏÔʾÓÐ.µÄËùÓÐÐС£

¡¡¡¡½ö½öÁгöÐв¢²»ÊÇÈÃsedÈç´ËÇ¿´óµÄµØ·½£¬Ä㻹¿ÉÒÔÌæ»»×Ö·û¡£ÏÂÃæµÄÃüÁî¸ÅÀ¨Á˸ÃÓï·¨£º

¡¡¡¡sed s/leo/lea/g users

¡¡¡¡¸ÃÃüÁîÓÃ×Ö·û´®leaÌæ»»ÁËleo£¬²¢½«½á¹ûдÈë±ê×¼Êä³ö¡£½«ËüдÈë±ê×¼Êä³ö·Ç³£°²È«£¬µ«ÊÇËü²»»á½«Èκαä¸üÓ¦Óõ½Îļþ¡£Òª×ö±ä¸ü£¬ÔÚÃüÁîÖÐÌí¼Ó-iÑ¡Ïî¡£

¡¡¡¡sed -i s/leo/lea/g users

¡¡¡¡ÕâЩ±ä¸ü¼´¿ÌÓ¦Óã¬Èç¹ûÄãÃ÷°××Ô¼ºÔÚ×öʲô£¬ÕâÊǺÜÓÐÓõġ£Èç¹ûÄã¶ÔsedÈÔÈ»¶¯Ò¡£¬ÏȽ«½á¹û·¢Ë͵½±ê×¼Êä³ö£¬Òò´ËÄã¾Í¿ÉÒÔÔÚ±àдËü֮ǰ¼ì²éÁË¡£

¡¡¡¡Äã¿ÉÒÔͨ¹ýsedµÄshell½Å±¾¹¦ÄÜ·¢»ÓËüµÄÈ«²¿Á¦Á¿¡£ÀýÈ磬Èç¹ûÄãÓÐËĸöÎļþ£¬ÔÚÏÖÓеÄĿ¼ÖÐÃüÃûΪfile1¡¢file2¡¢file3ºÍfile4£¬¶øÄãÐèÒª½«Ã¿¸öÎļþÖеÄÎı¾oneÌ滻ΪÎı¾ONE¡£ÒÔϵĽű¾Ðн«Ö´ÐÐÕâ¸öÈÎÎñ£º

¡¡¡¡for i in file[1-4]; do sed -i s/one/ONE/g $i; done

¡¡¡¡ÏëÏñÒ»ÏÂÊý¾ÝÖÐÐÄÖÐsedµÄÁ¦Á¿£ºÀýÈ磬Äã¿ÉÒÔ±ä¸ü°üº¬¸Õ¸ÕÌæ»»µÄ´æ´¢É豸IDµÄËùÓÐÅäÖÃÎļþ£¬»òÕßÄã¿ÉÒÔÐÞ¸ÄÒ»¸öÄ£°åÎļþÀ´È·±£__·þÎñµÄÃû×ÖÌæ»»³ÉÁËÄãÕýʹÓ÷þÎñµÄÕæʵÃû³Æ¡£sedµÄ¿ÉÄÜÐÔÊÇÎÞÏ޵ġ£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. ËÕÎÄÁú ÓÚ 2012-07-26 14:45:08·¢±í:

    it's great .but could you do it a little bit more particular and explain it's details of arguments