µ±Ç°Î»ÖãºLinux½Ì³Ì - Linux×ÊѶ - ¼¼ÇÉ£ºÓà Sort ºÍ Tsort ¶ÔÎļþÅÅÐò

¼¼ÇÉ£ºÓà Sort ºÍ Tsort ¶ÔÎļþÅÅÐò

¡¡¡¡Í¨¹ýʹÓà sort ºÍ tsort£¬¶ø²»ÊDzÉȡʹÓà Perl »ò Awk µÄ½Ï¸´ÔӵĽâ¾ö·½°¸£¬¿ÉÒÔ½Úʡʱ¼ä£¬Í¬Ê±»¹ÄܱÜÃâÁîÈËÍ·ÌÛµÄÎÊÌâ¡£Jacek Artymiak ½«ÏòÄú˵Ã÷ÈçºÎ×öµ½ÕâÒ»µã¡£¡¡¡¡¡¡¡¡¾¡¹Ü¿ÉÒÔÓà Perl »ò Awk ±àд¸ß¼¶ÅÅÐòÓ¦ÓóÌÐò£¬µ«²¢·Ç×ÜÊÇÓд˱ØÒª£¬¶øÇÒÕâÑùµÄ¹¤×÷Ò²³£³£ÁîÈ˸е½Í·ÌÛ¡£Ê¹Óà sort ÃüÁÄúͬÑù¿ÉÒÔʵÏÖÄúËùÐèµÄ´ó¶àÊý¹¦ÄÜ£¬¶øÇÒ¸üÈÝÒ×£¬Ëü¿ÉÒÔ¶Ô¶à¸öÎļþÖеÄÐнøÐÐÅÅÐò¡¢ºÏ²¢ÎļþÉõÖÁ¿ÉÒԲ鿴ÊÇ·ñÓбØÒª¶ÔËüÃǽøÐÐÅÅÐò¡£Äú¿ÉÒÔÖ¸¶¨ÅÅÐò¼ü£¨ÓÃÓڱȽϵÄÐÐÖеÄÒ»²¿·Ö£©£¬Ò²¿É²»Ö¸¶¨£¬ºóÒ»ÖÖÇé¿öÏ sort ¾Í±È½ÏËùÓÐÐС£¡¡¡¡¡¡¡¡Òò´Ë£¬Èç¹ûÄúÏë¶ÔÃÜÂëÎļþ½øÐÐÅÅÐò£¬¾Í¿ÉÒÔʹÓÃÏÂÁÐÃüÁÇë×¢Ò⣬Äú²»Äܽ«Êä³öÖ±½Ó·¢Ë͵½ÊäÈëÎļþ£¬ÒòΪÕâ»áÆÆ»µÊäÈëÎļþ¡£Õâ¾ÍÊÇΪºÎÄúÐèÒª½«Ëü·¢Ë͵½ÁÙʱÎļþÖУ¬È»ºó½«¸ÃÎļþÖØÃüÃûΪ /etc/passwd µÄÔ­Òò£¬ÈçÏÂËùʾ£©¡£¡¡¡¡¡¡¡¡Çåµ¥ 1. ¼òµ¥ÅÅÐò¡¡¡¡$ su - ¡¡¡¡# sort /etc/passwd > /etc/passwd-new¡¡¡¡# mv /etc/passwd-new /etc/passwd¡¡¡¡ ¡¡¡¡Èç¹ûÄúÏ뵹תÅÅÐòµÄ´ÎÐò£¬ÔòÓ¦µ±Ê¹Óà -r Ñ¡Ïî¡£Äú»¹¿ÉÒÔÓà -u Ñ¡ÏîÀ´½ûÖ¹´òÓ¡ÏàͬµÄÐС£¡¡¡¡¡¡¡¡sort µÄÒ»¸ö·Ç³£ÊµÓõÄÌØÐÔÊÇËüÓÃ×ֶμü½øÐÐÅÅÐòµÄÄÜÁ¦¡£×Ö¶ÎÊÇÒ»¸öÎı¾×Ö·û´®£¬Í¨¹ýij¸ö×Ö·ûÓëÆäËü×ֶηָô¿ª¡£ÀýÈ磬/etc/passwd ÖеÄ×Ö¶ÎÊÇÓÃðºÅ£¨:£©·Ö¸ôµÄ¡£Òò´Ë£¬Èç¹ûÔ¸ÒâµÄ»°£¬Äú¿ÉÒÔ°´ÕÕÓû§±êʶ¡¢×é±êʶ¡¢×¢ÊÍ×ֶΡ¢Ö÷Ŀ¼»ò shell ¶Ô /etc/passwd ½øÐÐÅÅÐò¡£Òª×öµ½ÕâÒ»µã£¬ÇëʹÓà -t Ñ¡ÏÆäºó¸ú×ÅÓÃ×÷·Ö¸ô·ûµÄ×Ö·û£¬½Ó×ÅÊÇÓÃ×÷ÅÅÐò¼üµÄ×ֶαàºÅ£¬ÔÙ¸ú×÷Ϊ¼üµÄ×îºóÒ»¸ö×ֶεıàºÅ£»ÀýÈ磬sort -t : -k 5,5 /etc/passwd °´ÕÕ×¢ÊÍ×ֶζÔÃÜÂëÎļþ½øÐÐÅÅÐò£¬¸Ã×Ö¶ÎÖд洢ÁËÍêÕûµÄÓû§Ãû£¨Èç¡°John Smith¡±£©¡£¶ø sort -t : -k 3,4 /etc/passwd ͬʱʹÓÃÓû§±êʶºÍ×é±êʶ¶Ôͬһ¸öÎļþ½øÐÐÅÅÐò¡£Èç¹ûÄúÊ¡ÂÔÁ˵ڶþ¸öÊý×Ö£¬ÄÇô sort »á¼Ù¶¨¼üÊÇ´Ó¸ø¶¨µÄ×ֶοªÊ¼£¬Ò»Ö±µ½Ã¿Ò»ÐеÄĩβ¡£¶¯ÊÖÊÔÒ»ÊÔ£¬²¢¹Û²ìÆäÖеÄÇø±ð£¨µ±Êý×ÖÅÅÐò¿´ÉÏÈ¥Óдíʱ£¬ÇëÌí¼Ó -g Ñ¡Ï¡£¡¡¡¡¡¡¡¡»¹Òª×¢ÒâµÄÊÇ£¬¿Õ°×¹ý¶ÉÊÇȱʡµÄ·Ö¸ô·û£¬Òò´Ë£¬Èç¹û×Ö¶ÎÒѾ­Óÿհ××Ö·û·Ö¸ôÁË£¬ÄÇôÄú¿ÉÒÔÊ¡ÂÔ·Ö¸ô·û£¬Ö»Ê¹Óà -t£¨Áí×¢£º×ֶεıàºÅÊÇ´Ó 1 ¿ªÊ¼µÄ£©¡£¡¡¡¡¡¡¡¡ÎªÁ˸üºÃµØ½øÐпØÖÆ£¬Äú¿ÉÒÔʹÓüüºÍÆ«ÒÆÁ¿¡£Æ«ÒÆÁ¿ÊÇÓõãÓë¼üÏà·Ö¸ôµÄ£¬±ÈÈçÔÚ -k 1.3,5.7 ÖУ¬±íʾÅÅÐò¼üÓ¦µ±´ÓµÚ 1 ¸ö×Ö¶ÎµÄµÚ 3 ¸ö×Ö·û¿ªÊ¼£¬µ½µÚ 5 ¸ö×Ö¶ÎµÄµÚ 7 ¸ö×Ö·û½áÊø£¨Æ«ÒÆÁ¿Ò²ÊÇ´Ó 1 ¿ªÊ¼±àºÅµÄ£©¡£ºÎʱ»áÓõÃ×ÅÆ«ÒÆÁ¿ÄØ£¿àÅ£¬ÎÒʱ³£ÓÃËüÀ´¶Ô Apache ÈÕÖ¾½øÐÐÅÅÐò£»¼üºÍÆ«ÒÆÁ¿±íʾ·¨ÈÃÎÒÌø¹ýÁËÈÕÆÚ×ֶΡ£¡¡¡¡¡¡¡¡ÁíÒ»¸öÒª¹Ø×¢µÄÑ¡ÏîÊÇ -b£¬Ëü¸æÖª sort ºöÂÔ¿Õ°××Ö·û£¨¿Õ¸ñ¡¢Ìø¸ñµÈµÈ£©²¢½«ÐÐÖеĵÚÒ»¸ö·Ç¿Õ°××Ö·ûµ±×öÊÇÅÅÐò¼üµÄ¿ªÊ¼¡£»¹ÓУ¬Èç¹ûÄúʹÓøÃÑ¡ÏÄÇô½«´ÓµÚÒ»¸ö·Ç¿Õ°××Ö·û¿ªÊ¼¼ÆËãÆ«ÒÆÁ¿£¨µ±×ֶηָô·û²»ÊÇ¿Õ°××Ö·û£¬ÇÒ×ֶοÉÄÜ°üº¬ÒÔ¿Õ°××Ö·û¿ªÍ·µÄ×Ö·û´®Ê±£¬Õâ·Ç³£ÓÐÓã©¡£¡¡¡¡¡¡¡¡¿ÉÒÔÓÃÏÂÃæÕâЩѡÏîÀ´½øÒ»²½ÐÞ¸ÄÅÅÐòËã·¨£º-d£¨Ö»½«×Öĸ¡¢Êý×ֺͿհ×ÓÃ×÷ÅÅÐò¼ü£©¡¢-f£¨¹Ø±Õ´óСдÇø·Ö£¬ÈÏΪСдºÍ´óд×Ö·ûÊÇÒ»ÑùµÄ£©¡¢-i£¨ºöÂÔ·Ç´òÓ¡µÄ ASCII ×Ö·û£©¡¢-M£¨Ê¹ÓÃÈý¸ö×ÖĸµÄÔ·ÝÃû³ÆËõд£ºJAN¡¢FEB¡¢MAR ¡­ À´¶ÔÐнøÐÐÅÅÐò£©ºÍ -n£¨Ö»ÓÃÊý×Ö¡¢- ºÍ¶ººÅ»òÁíÍâÒ»¸öǧλ·Ö¸ô·û¶ÔÐнøÐÐÅÅÐò£©¡£ÕâЩѡÏîÒÔ¼° -b ºÍ -r Ñ¡Ïî¿ÉÒÔÓÃ×÷¼ü±àºÅµÄÒ»²¿·Ö£¬ÔÚÕâÖÖÇé¿öÏ£¬ËüÃÇÖ»ÊÊÓÃÓڸüü¶ø·ÇÈ«¾Ö£¬Æä×÷Óþ͸úÔÚ¼ü¶¨ÒåÍâʹÓÃËüʱһÑù¡£¡¡¡¡¡¡¡¡ÒÔ¼ü±àºÅµÄÓ÷¨ÎªÀý£¬Ç뿼ÂÇ£º¡¡¡¡¡¡¡¡sort -t: -k 4g,4 -k 3gr,3 /etc/passwd ¡¡¡¡¡¡¡¡ÕâÌõÃüÁ°´ÕÕ×é±êʶ¶Ô passwd Îļþ½øÐÐÅÅÐò£¬¶øÔÚ×éÄÚ°´ÕÕÓû§±êʶ½øÐÐÄæÏòÅÅÐò¡£¡¡¡¡¡¡¡¡µ«ÊÇÕâ²¢·Ç sort µÄÈ«²¿ÄÜÁ¦¡£Èç¹ûÄúËùʹÓõļü²»ÄÜÓÃÀ´È·¶¨ÄÄÒ»ÐÐÊÇÔÚÏÈ£¬ÄÇôËüÒ²¿ÉÒÔ½â¾öÕâÀàƽ¾ÖÎÊÌâ¡£Ôö¼ÓÒ»¸ö½â¾öƽ¾ÖÎÊÌâµÄÌáʾ£¬ÇëÌí¼ÓÁíÒ»¸ö -k Ñ¡ÏÈÃËü¸úÔÚ×ֶκͣ¨¿ÉÑ¡µÄ£©Æ«ÒÆÁ¿ºóÃ棬ʹÓÃÓëÇ°ÃæÓÃÓÚ¶¨Òå¼üÏàͬµÄ±íʾ·¨£»ÀýÈ磬sort -k 3.4,4.5 -k 7.3,9.4 /etc/passwd ¶ÔÐнøÐÐÅÅÐòʱ£¬Ê¹ÓÃ´ÓµÚ 3 ¸ö¼üµÄµÚ 4 ¸ö×Ö·û¿ªÊ¼µ½µÚ 4 ¸ö¼üµÄµÚ 5 ¸ö×Ö·û½áÊøµÄ¼ü£¬È»ºóÔÙ²ÉÓÃ´ÓµÚ 7 ¸ö×Ö¶ÎµÄµÚ 3 ¸ö×Ö·ûµ½µÚ 9 ¸ö×Ö¶ÎµÄµÚ 4 ¸ö×Ö·û½áÊøµÄ¼üÀ´½â¾öÉÏÊöÄÑÌâ¡£¡¡¡¡¡¡¡¡×îºóÒ»×éÑ¡Ïî´¦ÀíÊäÈë¡¢Êä³öºÍÁÙʱÎļþ¡£ÀýÈ磬-c Ñ¡Ïµ±ËüÓÃÓÚ sort -c < file ÖÐʱ£¬Ëü¼ì²éÊäÈëÎļþÊÇ·ñÒѽøÐÐÁËÅÅÐò£¨ÄúÒ²¿ÉÒÔʹÓÃÆäËüÑ¡Ï£¬Èç¹ûÒѽøÐÐÁËÅÅÐò£¬Ôò±¨¸æÒ»¸ö´íÎó¡£ÕâÑù£¬ÔÚ´¦Àí¿ÉÄÜÐèÒª»¨ºÜ³¤Ê±¼ä½øÐÐÅÅÐòµÄ´óÐÍÎļþ֮ǰ£¬¿ÉÒԺܷ½±ãµØ¶ÔÆä½øÐмì²é¡£µ±Äú½« -u Ñ¡ÏîºÍ -c Ñ¡ÏîÒ»ÆðʹÓÃʱ£¬»á±»½âÊÍΪһ¸öÇëÇ󣺼ì²éÊäÈëÎļþÖв»´æÔÚÁ½¸öÏàͬµÄÐС£¡¡¡¡¡¡¡¡µ±Äú´¦Àí´óÐÍÎļþʱ»¹ÓÐÒ»¸öºÜÖØÒªµÄ -T Ñ¡ÏËüÓÃÓÚΪÁÙʱÎļþ£¨ÕâЩÁÙʱÎļþÔÚ sort Íê³É¹¤×÷Ö®ºó»á±»³ýÈ¥£©Ö¸¶¨ÆäËüĿ¼£¬¶ø²»ÊÇȱʡµÄ /tmp Ŀ¼¡£¡¡¡¡¡¡¡¡Äú¿ÉÒÔʹÓà sort À´Í¬Ê±´¦Àí¶à¸öÎļþ£¬ÕâÑù×öµÄ·½Ê½»ù±¾ÉÏÓÐÁ½ÖÖ£ºÊ×ÏÈ¿ÉÒÔʹÓà cat À´²¢ÖÃËüÃÇ£¬ÈçÏÂËùʾ£º¡¡¡¡¡¡¡¡cat file1 file2 file3 sort > outfile ¡¡¡¡¡¡¡¡»òÕߣ¬¿ÉÒÔʹÓÃÏÂÃæÕâ¸öÃüÁ¡¡¡¡¡¡¡¡sort -m file1 file2 file3 > outfile ¡¡¡¡¡¡¡¡µÚ¶þÖÖÇé¿öÓиöÌõ¼þ£ºÔÚ½«ËùÓÐÊäÈëÎļþÒ»Æð½øÐÐ sort -m ֮ǰ£¬Ã¿¸öÎļþ¶¼±ØÐë¾­¹ýÅÅÐò¡£Õâ¿´ÆðÀ´ËƺõÊǸö²»±ØÒªµÄ¸ºµ££¬µ«ÊÂʵÉÏÕâ¼Ó¿ìÁ˹¤×÷ËٶȲ¢½ÚÔ¼Á˱¦¹óµÄϵͳ×ÊÔ´¡£¶ÔÁË£¬±ðÍüÁË -m Ñ¡Ïî¡£ÔÚÕâÀïÄú¿ÉÒÔʹÓà -u Ñ¡ÏîÀ´½ûÖ¹´òÓ¡ÏàͬµÄÐС£¡¡¡¡¡¡¡¡Èç¹ûÐèҪijÖÖ¸üÉî°ÂµÄÅÅÐò·½·¨£¬Äú¿ÉÄÜÒª²é¿´ tsort ÃüÁ¸ÃÃüÁî¶ÔÎļþÖ´ÐÐÍØÆËÅÅÐò¡£ÍØÆËÅÅÐòºÍ±ê×¼ sort Ö®¼äµÄ²î±ðÈçÇåµ¥ 2 Ëùʾ£¨Äú¿ÉÒԴӲο¼×ÊÁÏÏÂÔØ happybirthday.txt£©¡£¡¡¡¡¡¡¡¡Çåµ¥ 2. ÍØÆËÅÅÐòºÍ±ê×¼ÅÅÐòÖ®¼äµÄ²î±ð$ cat happybirthday.txt¡¡¡¡¡¡¡¡Happy Birthday to You!¡¡¡¡¡¡¡¡Happy Birthday to You!¡¡¡¡¡¡¡¡Happy Birthday Dear Tux!¡¡¡¡¡¡¡¡Happy Birthday to You!¡¡¡¡¡¡¡¡$ sort happybirthday.txt¡¡¡¡¡¡¡¡Happy Birthday Dear Tux!¡¡¡¡¡¡¡¡Happy Birthday to You!¡¡¡¡¡¡¡¡Happy Birthday to You!¡¡¡¡¡¡¡¡Happy Birthday to You!¡¡¡¡¡¡¡¡$ tsort happybirthday.txt¡¡¡¡¡¡¡¡Dear¡¡¡¡¡¡¡¡Happy¡¡¡¡¡¡¡¡to¡¡¡¡¡¡¡¡Tux!¡¡¡¡¡¡¡¡Birthday¡¡¡¡¡¡¡¡You!¡¡¡¡µ±È»£¬¶ÔÓÚ tsort µÄʹÓÃÀ´Ëµ£¬Õâ²¢·ÇÒ»¸ö·Ç³£ÓÐÓõÄÑÝʾ£¬Ö»ÊǾÙÀý˵Ã÷ÁËÕâÁ½¸öÃüÁîÊä³öµÄ²»Í¬¡£¡¡¡¡¡¡¡¡tsort ͨ³£ÓÃÓÚ½â¾öÒ»ÖÖÂß¼­ÎÊÌ⣬¼´±ØÐëͨ¹ý¹Û²ìµ½µÄ²¿·Ö´ÎÐòÔ¤²â³öÕû¸ö´ÎÐò£»ÀýÈ磨À´×Ô tsort ÐÅÏ¢Ò³ÖУ©£º¡¡¡¡¡¡¡¡tsort <<EOF a b c d e f b c d e EOF ¡¡¡¡¡¡¡¡»á²úÉúÕâÑùµÄÊä³ö¡¡¡¡¡¡¡¡¡¡a¡¡¡¡¡¡¡¡¡¡b¡¡¡¡¡¡¡¡¡¡c¡¡¡¡¡¡¡¡¡¡d¡¡¡¡¡¡¡¡¡¡e¡¡¡¡¡¡¡¡¡¡f
[1] [2] ÏÂÒ»Ò³ 

£¨³ö´¦£ºhttp://www.sheup.com£©


ÉÏÒ»Ò³ [1] [2]