cut === è¿æ¥æä»¶å¹¶æå°å°æ åè¾åºè®¾å¤ä¸ ## è¡¥å 说æ **cut å½ä»¤** ç¨æ¥æ¾ç¤ºè¡ä¸çæå®é¨åï¼å 餿件䏿å®å段ãcut ç»å¸¸ç¨æ¥æ¾ç¤ºæä»¶çå 容ï¼ç±»ä¼¼äº type å½ä»¤ã 说æï¼è¯¥å½ä»¤æä¸¤é¡¹åè½ï¼å ¶ä¸æ¯ç¨æ¥æ¾ç¤ºæä»¶çå 容ï¼å®ä¾æ¬¡è¯»åç±åæ° file ææ æçæä»¶ï¼å°å®ä»¬çå 容è¾åºå°æ åè¾åºä¸ï¼å ¶äºæ¯è¿æ¥ä¸¤ä¸ªæå¤ä¸ªæä»¶ï¼å¦`cut fl f2 > f3`å°ææä»¶ fl å f2 çå 容åå¹¶èµ·æ¥ï¼ç¶åéè¿è¾åºéå®å符â>âçä½ç¨ï¼å°å®ä»¬æ¾å ¥æä»¶ f3 ä¸ã 彿件è¾å¤§æ¶ï¼ææ¬å¨å±å¹ä¸è¿ ééªè¿ï¼æ»å±ï¼ï¼ç¨æ·å¾å¾ç䏿¸ ææ¾ç¤ºçå 容ãå æ¤ï¼ä¸è¬ç¨ more çå½ä»¤å屿¾ç¤ºãä¸ºäºæ§å¶æ»å±ï¼å¯ä»¥æ Ctrl+S é®ï¼åæ¢æ»å±ï¼æ Ctrl+Q é®å¯ä»¥æ¢å¤æ»å±ãæ Ctrl+Cï¼ä¸æï¼é®å¯ä»¥ç»æ¢è¯¥å½ä»¤çæ§è¡ï¼å¹¶ä¸è¿å Shell æç¤ºç¬¦ç¶æã ### è¯æ³ ```shell cutï¼é项ï¼ï¼åæ°ï¼ ``` ### é项 ```shell -bï¼ä» æ¾ç¤ºè¡ä¸æå®ç´æ¥èå´çå å®¹ï¼ -cï¼ä» æ¾ç¤ºè¡ä¸æå®èå´çåç¬¦ï¼ -dï¼æå®å段çåé符ï¼é»è®¤çåæ®µåé符为âTABâï¼ -fï¼æ¾ç¤ºæå®å段çå å®¹ï¼ -nï¼ä¸â-bâé项è¿ç¨ï¼ä¸åå²å¤åèåç¬¦ï¼ --complementï¼è¡¥è¶³è¢«éæ©çåèãå符æåæ®µï¼ --out-delimiter= åæ®µåéç¬¦ï¼æå®è¾åºå 容æ¯çåæ®µåå²ç¬¦ï¼ --helpï¼æ¾ç¤ºæä»¤ç帮å©ä¿¡æ¯ï¼ --versionï¼æ¾ç¤ºæä»¤ççæ¬ä¿¡æ¯ã ``` ### åæ° æä»¶ï¼æå®è¦è¿è¡å å®¹è¿æ»¤çæä»¶ã ### å®ä¾ ä¾å¦æä¸ä¸ªå¦çæ¥è¡¨ä¿¡æ¯ï¼å å« NoãNameãMarkãPercentï¼ ```shell [root@localhost text]# cat test.txt No Name Mark Percent 01 tom 69 91 02 jack 71 87 03 alex 68 98 ``` ä½¿ç¨ **-f** é项æåæå®å段ï¼è¿éç f åæ°å¯ä»¥ç®åè®°å¿ä¸º `--fields`ç缩åï¼ï¼ ```shell [root@localhost text]# cut -f 1 test.txt No 01 02 03 ``` ```shell [root@localhost text]# cut -f2,3 test.txt Name Mark tom 69 jack 71 alex 68 ``` **--complement** é项æåæå®å段ä¹å¤çåï¼æå°é¤äºç¬¬äºåä¹å¤çåï¼ï¼ ```shell [root@localhost text]# cut -f2 --complement test.txt No Mark Percent 01 69 91 02 71 87 03 68 98 ``` ä½¿ç¨ **-d** é项æå®å段åéç¬¦ï¼ ```shell [root@localhost text]# cat test2.txt No;Name;Mark;Percent 01;tom;69;91 02;jack;71;87 03;alex;68;98 ``` ```shell [root@localhost text]# cut -f2 -d";" test2.txt Name tom jack alex ``` ### æå®å段çå符æè åèèå´ cut å½ä»¤å¯ä»¥å°ä¸ä¸²å符ä½ä¸ºåæ¥æ¾ç¤ºï¼åç¬¦åæ®µçè®°æ³ï¼ * **N-** ï¼ä»ç¬¬ N 个åèãå符ãåæ®µå°ç»å°¾ï¼ * **N-M** ï¼ä»ç¬¬ N 个åèãå符ãåæ®µå°ç¬¬ M 个ï¼å æ¬ M å¨å ï¼åèãå符ãåæ®µï¼ * **-M** ï¼ä»ç¬¬ 1 个åèãå符ãåæ®µå°ç¬¬ M 个ï¼å æ¬ M å¨å ï¼åèãå符ãåæ®µã ä¸é¢æ¯è®°æ³ï¼ç»åä¸é¢é项尿¸ä¸ªèå´çåèãå符æå®ä¸ºåæ®µï¼ * **-b** 表示åèï¼ * **-c** 表示åç¬¦ï¼ * **-f** 表示å®ä¹å段ã **示ä¾** ```shell [root@localhost text]# cat test.txt abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz ``` æå°ç¬¬ 1 个å°ç¬¬ 3 个åç¬¦ï¼ ```shell [root@localhost text]# cut -c1-3 test.txt abc abc abc abc abc ``` æå°å 2 个åç¬¦ï¼ ```shell [root@localhost text]# cut -c-2 test.txt ab ab ab ab ab ``` æå°ä»ç¬¬ 5 个å符å¼å§å°ç»å°¾ï¼ ```shell [root@localhost text]# cut -c5- test.txt efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz ```