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

cut-LinuxÏÂСÇɵÄÎı¾½ØÈ¡¹¤¾ß

·¢²¼Ê±¼ä:2014-06-10 10:58:39À´Ô´:ºìÁª×÷Õß:velcbo
¼ò½é

cutÃüÁîÊÇUnixϵÄÒ»¸öÃüÁîÐгÌÐò¡£cutÃüÁîÊÇÒÔÐÐΪµ¥Î»À´´¦ÀíµÄ¡£cutÃüÁî´¦ÀíµÄÊDZê×¼ÊäÈ룬ËùÒÔ¿ÉÒÔ½áºÏ¹ÜµÀÀ´½øÐÐÎı¾µÄ´¦Àí¡£
ÃüÁî¸ñʽ

cut option¡­ [file]¡­

cutÃüÁîµÄoption²¿·Ö¿ÉÒÔÊÇÈçϵÄһЩѡÏ

-b, --bytes=LIST Ñ¡ÔñÖ¸¶¨ÊýÄ¿LISTµÄ×Ö½Ú

-c, --characters=LIST Ñ¡ÔñÖ¸¶¨ÊýÄ¿LISTµÄ×Ö·û

-d, --delimiter=DELIM ʹÓÃDELIM×÷ΪÄÚÈݵķָô·û£¬¶ø²»ÊÇʹÓÃĬÈϵÄÖÆ±í·û(tab)×÷Ϊ·Ö¸ô·û

-f, --fields=LIST Ñ¡ÔñLISTÖ¸¶¨µÄLIST²¿·ÖÄÚÈÝ£¬Êä³öÑ¡ÖеÄÄÚÈÝ£¬²¢ÇÒÈç¹û×Ö·ûûÓаüº¬·Ö¸ô·û£¬ÔòҲͬÑùÊä³ö£¬³ý·ÇÖ¸¶¨ÁË-sÑ¡Ïî

-n ºÍ-bÒ»ÆðʹÓ㬱íʾÔÚÑ¡Ôñ×Ö½ÚµÄʱºò£¬¶ÔÓÚ¶à×Ö½ÚµÄ×Ö·û²»½øÐзָô£¬¶à×Ö½ÚµÄ×Ö·û±»¿´×÷Ò»¸ö×Ö½Ú

-s, --only-delimited ²»Êä³ö²»°üº¬·Ö¸ô·ûµÄÐÐ

--output-delimiter=STRING ʹÓÃSTRING×÷ΪÊä³öÄÚÈÝÖеķָô·û£¬¶ø²»ÊÇʹÓÃÔ­À´±ê×¼ÊäÈëÖеķָô·û¡£

Note:¶ÔÓÚÑ¡Ïî-b, -c, -f£¬Ö»ÄÜÔÚÒ»¸öÃüÁî±»Ö¸¶¨ÆäÖеÄÒ»Ïî¡£

ÃüÁî½á¹ûµÄÊä³öµÄ˳ÐòºÍ´ý´¦ÀíÊý¾ÝÔÚÊäÈëʱµÄ˳ÐòÊÇÒ»ÑùµÄ¡£

¶ÔÓÚÒ»¸öLIST£¬¿ÉÒÔÊÇÒ»¸ö·¶Î§£¬Ò²¿ÉÒÔÊǶà¸öÓɶººÅ·Ö¸ôµÄ¶à¸ö·¶Î§¡£

LISTµÄ¸ñʽ£º

N ±íʾָ¶¨N¸öÊý¾Ýµ¥Ôª£¬¼ÆÊý´Ó1¿ªÊ¼

N- ´ÓµÚN¸öÊý¾Ýµ¥Ôª¿ªÊ¼µ½ÐнáÊø

N-M ´ÓµÚN¸öÊý¾Ýµ¥Ôªµ½µÚM¸öÊý¾Ýµ¥Ôª(°üÀ¨)

-M ´ÓÐеĿªÊ¼µ½µ×M¸öÊý¾Ýµ¥Ôª(°üÀ¨)

ÆäÖеÄÊý¾Ýµ¥Ôª¿ÉÒÔÊÇ£º×Ö½Ú£¬×Ö·û£¬Êý¾Ý¿é

Note:Èç¹ûÃüÁîÖÐûÓÐÖ¸¶¨FILE»òÕßFILEÊÇ"-"£¬ÔòĬÈÏÊǶÁÈ¡±ê×¼ÊäÈë¡£
Ó÷¨

ÔÚLinuxÏ»·¾³±äÁ¿PATHÖаüº¬ÁËÓÉ¡±£º¡±·Ö¸ôµÄ±äÁ¿µÄ²éÕÒ·¾¶£¬¼ÙÉèÎÒÃÇÐèÒª½ØÈ¡ÆäÖÐµÄÆäÖеĵڶþ¸ö·¾¶£¬Ôò¿ÉÒÔʹÓÃÈçÏµķ½·¨£º

echo $PATH | cut -d ':' -f 2

Èç¹ûÐèÒª½ØÈ¡PATH±äÁ¿Öдӵڶþ¸ö·¾¶¿ªÊ¼µ½½áÊøµÄËùÓÐÄÚÈÝ£¬¿ÉÒÔʹÓÃÈçÏµķ½·¨£º

echo $PATH | cut -d ':' -f 2-

Èç¹ûÐèÒª½ØÈ¡ÄÚÈÝ´Ó¿ªÊ¼µ½µÚ3²¿·ÖµÄÄÚÈÝ£¬Ôò¿ÉÒÔʹÓÃÈçϵÄÃüÁ

echo $PATH | cut -d ¡®:¡¯ -f -3

Èç¹ûÊǽØÈ¡´ÓµÚ2²¿·Öµ½µÚ3²¿·ÖµÄÄÚÈÝ£¬Ôò¿ÉÒÔʹÓÃÈçϵÄÃüÁ

echo $PATH | cut -d ':' 2-3

Èç¹ûÅöµ½Ò»ÑùÊDz»°üº¬Èκηָô·ûµÄ£¬ÄÇôʵ¼ÊÉÏÕâÒ»ÑùÎÒÃÇ¿ÉÄܲ»ÐèÒªÈκδ¦Àí£¬cutĬÈÏÊÇ»áÔ­ÑùÊä³öµÄ£¬Èç¹ûÄã²»ÐèÒªËüÃÇÊä³ö£¬

Ôò¿ÉÒÔʹÓÃÑ¡Ï-s¡¯À´×èÖ¹ÄÇЩ²»°üº¬Ö¸¶¨·Ö¸ô·ûµÄÐУº

echo $PATH | cut -s -d ':' -f 3

ÉÏÊöµÄ-dÑ¡Ïî¿ÉÒÔÓÃÓÚÓÐÃ÷ÏԵķָô·û´æÔÚµÄÇé¿öÏÂʹÓã¬ÔÚ¸ñʽÃ÷ÏÔµÄÎı¾Ðд¦ÀíÖпÉÒÔ·½±ãµÄ¶ÔÐнøÐнØÈ¡¡£³ýÁËÀûÓ÷ָô·ûÀ´½ØÈ¡·Ö¸ôÎı¾£¬¶ÔÓÚûÓзָô¸ñʽµÄ×Ö·ûÎı¾»¹¿ÉÒÔ½øÐÐÖ¸¶¨×Ö·û¸öÊýµÄ½ØÈ¡£¬ÄǾÍÊÇ-cÑ¡ÏîÁË£º

È¡³öÒ»ÐÐÎı¾ÖеĵÚ3¸ö×Ö½Ú£º

echo 'hello' | cut -c 3

ͬÑùµÄ£¬Èç¹ûÐèÒªÊä³öÖ¸¶¨·¶Î§ÄÚµÄ×Ö·û£¬Ôò¿ÉÒÔʹÓÃn-mµÄ·½Ê½Ö¸¶¨·¶Î§

echo 'hello' | cut -c -2 #Êä³öÐпªÊ¼µ½µÚ2¸ö×Ö·ûµÄÄÚÈÝ
echo 'hello' | cut -c 2-3 #Êä³öµÚ2µ½3¸ö×Ö·û
echo 'hello' | cut -c 2- #Êä³ö´ÓµÚ¶þ×Ö·û¿ªÊ¼µ½ÐнáÊøµÄÄÚÈÝ

ÔÚÊä³öµÄʱºò£¬Èç¹ûÐèÒªÖ¸¶¨Ò»ÖÖÁíÍâµÄ·Ö¸ô·ûÀ´·Ö¸ôÊä³öµÄÄÚÈÝ£¬ÒÔÌæ´úÔ­À´µÄ·Ö¸ô·û£¬Ôò¿ÉÒÔʹÓÃ--output-delimiterÀ´´¦Àí

echo $PATH | cut -d ':' -f 1- --output-delimiter='*'

ÔòÊä³öµÄPATH±äÁ¿¾ÍÊÇÒÔ*×÷Ϊ·Ö¸ô·û£¬¶ø²»ÊÇʹÓÃ:À´×÷Ϊ·Ö¸ô·û£¬ÊDz»ÊǺܷ½±ã£¿

µ±cutÓöÉÏVim

ÏëÏóһϣ¬Èç¹ûcutÃüÁîºÍVimÅäºÏʹÓã¬ÊDz»ÊÇ¿ÉÒÔÍê³ÉºÜ¶à°ÔÆøµÄ²Ù×÷ÄØ£¬ÎûÎû£¡ÇÒ¿´£º

¼ÙÉèÎÒÔÚVimÖÐÕýÔڱ༭ÕâÑùµÄÎı¾

ÎÒÏë°Ñ·Ö¸ôÊý×ÖµÄ*¸Ä³ÉðºÅ£º£¬Ôõô°ìÄØ£¿Ò»¸öÒ»¸ö¸Ä£¿£¬Äã»òÐí»áÏëµ½ÔÚVimϵÄÄ£Ê½Ìæ»»À´´¦Àí£¬ÕâȷʵÊÇÒ»¸öºÃ·½·¨¡£Èç¹ûVim½áºÏcutÃüÁîÀ´´¦Àí£¬Ò²¿ÉÒÔ´ïµ½ÒìÇúͬ¹¤µÄЧ¹û£º

ʹÓÃVimϵÄÄ£Ê½Ìæ»»ÃüÁ

Shift+V #Ñ¡Öе±Ç°µÄÐÐ
:s/\*/:/g #ʹÓÃsÃüÁî½øÐÐÌæ»»£¬ÓÉÓÚ*ÔÚVimÖÐÊÇÓÉÌØÊ⺬ÒåµÄ£¬ÐèҪʹÓ÷´Ð±¸ÜÀ´×ªÒå

ʹÓÃcutÃüÁîÀ´´¦Àí£º

Shift+V #Ñ¡Öйâ±êËùÔÚµÄÐÐ
:!cut -d '*' -f 1- --output-delimiter=':'

Á½¸öÃüÁîµÄÖ´Ðнá¹û¶¼Ò»Ñù

ËùÒÔ£¬cutÃüÁîÅäºÏVim£¬Ò²¿ÉÒÔÊÇÒ»ÖÖÓÐЧµÄÎı¾±à¼­µÄ·½·¨¡£Õâ²»Ò²ÊÇUnixϵÄKISSģʽµÄÒ»ÖÖÌåÏÖÂð£¿

×÷Õߣºnow-fighting
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ