国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Linux cut 命令詳解

系統 Linux
cut 命令在Linux和Unix中的作用是從文件中的每一行中截取出一些部分,并輸出到標準輸出中。我們可以使用 cut 命令從一行字符串中于以字節,字符,字段(分隔符)等單位截取一部分內容出來。

[[334204]]

cut 命令在Linux和Unix中的作用是從文件中的每一行中截取出一些部分,并輸出到標準輸出中。我們可以使用 cut 命令從一行字符串中于以字節,字符,字段(分隔符)等單位截取一部分內容出來。

在本文中,我們通過一些例子來了解 cut 命令的使用,這些使用方法在我們的日常工作中也是非常常用的。

Cut 命令和語法

cut 命令的基本語法如下:

  1. $ cut OPTION... [FILE]... 

我們先來了解一下 cut 的一些選項,cut 命令必須要指定選項才能執行。

-f : 提取指定的字段,cut 命令使用 Tab 作為默認的分隔符。

-d : Tab 是默認的分隔符,使用這一選項可以指定自己的分隔符。

-b : 提取指定的字節,也可以指定一個范圍。

-c : 提取指定的字符,可以是以逗號分隔的數字的列表,也可以是以連字符分隔的數字的范圍。

–complement : 補充選中的部分,即反選。

–output-delimiter : 修改輸出時使用的分隔符。

--only-delimited : 不輸出不包含分隔符的列。

我們以如下的名為 context.txt 的文本文件和 /etc/passwd 文件來為例來進行說明。

  1. $ cat content.txt  
  2. Ubuntu Linux 
  3. Microsoft Windows 
  4. OsX El Capitan 
  5. Unix 
  6. FreeBSD 

如何指定分隔符

最常用的選項是 -d 和 -f 的組合,這會根據 -d 指定的分隔符和 -f 列出的字段來提取內容。

例如在這個例子中只打印出 /etc/passwd 文件每一行的第一個字段,用的分隔符是 :

  1. $ cut -d':' -f1 /etc/passwd 
  2. root 
  3. bin 
  4. daemon 
  5. adm 
  6. lp 
  7. sync 
  8. shutdown 
  9. halt 
  10. mail 
  11. operator 
  12. games 
  13. alvin 
  14. liangxu 
  15. ... 

在下面這個例子中我們用空格作為分隔符打印 content.txt 文件的第一個字段

  1. $ cut -d " " -f 1 content.txt  
  2. Ubuntu 
  3. Microsoft 
  4. OsX 
  5. Unix 
  6. FreeBSD 

在下面這個例子中我們提取了多個字段。這里,我們使用冒號(:)分隔符從文件 /etc/passwd 中包含字符串 /bin/bash 的行提取第一和第六個字段。

  1. $ grep "/bin/bash" /etc/passwd | cut -d':' -f1,6 
  2. root:/root 
  3. alvin:/home/alvin 

要顯示字段的某個范圍,可以指定開始和結束的字段,中間用連字符(-)連接,如下所示:

  1. $ grep "/bin/bash" /etc/passwd | cut -d':' -f1-4,6,7 
  2. root:x:0:0:/root:/bin/bash 
  3. alvin:x:1000:1000:/home/alvin:/bin/bash 

如何補全選擇的輸出

要補全選擇輸出的字段(即反選),使用 --complement 選項。這一選項輸出所有的字段,除了指定的字段。

在下面這個例子中輸出 /etc/passwd 文件中包含 /bin/bash 的行中除了第二個字段以外的所有字段

  1. $ grep "/bin/bash" /etc/passwd | cut -d':' --complement -f2 
  2. root:0:0:root:/root:/bin/bash 

如何指定輸出的分隔符

使用 --output-delimiter 可以指定輸出的分隔符。輸入的分隔符由 -d 來指定,而輸出分隔符和輸入分隔符默認是一樣的。

我們先以下面的例子來測試不指定輸出分隔符時的輸出;

  1. $  cut -d: -f1,7  /etc/passwd |  sort |  uniq -u 
  2. _apt:/usr/sbin/nologin 
  3. backup:/usr/sbin/nologin 
  4. bin:/usr/sbin/nologin 
  5. daemon:/usr/sbin/nologin 
  6. dnsmasq:/usr/sbin/nologin 
  7. games:/usr/sbin/nologin 
  8. gnats:/usr/sbin/nologin 
  9. irc:/usr/sbin/nologin 
  10. landscape:/usr/sbin/nologin 
  11. list:/usr/sbin/nologin 
  12. lp:/usr/sbin/nologin 
  13. lxd:/bin/false 

現在我們加上--output-delimiter選項,將輸出分隔符指定為空格:

  1. $  cut -d: -f1,7 --output-delimiter ' ' /etc/passwd |  sort |  uniq -u 
  2. _apt /usr/sbin/nologin 
  3. backup /usr/sbin/nologin 
  4. bin /usr/sbin/nologin 
  5. daemon /usr/sbin/nologin 
  6. dnsmasq /usr/sbin/nologin 
  7. games /usr/sbin/nologin 
  8. gnats /usr/sbin/nologin 
  9. irc /usr/sbin/nologin 
  10. landscape /usr/sbin/nologin 
  11. list /usr/sbin/nologin 
  12. lp /usr/sbin/nologin 
  13. lxd /bin/false 

我們再測試一個例子,用分隔符讓每一行打印一個字段。

我們將 --output-delimiter 指定為 $'\n' 表換行。

輸出結果為:

  1. $ grep root /etc/passwd | cut -d':' -f1,6,7 --output-delimiter=$'\n' 
  2. root 
  3. /root 
  4. /bin/bash 
  5. operator 
  6. /root 
  7. /sbin/nologin 

如何以字符的方式提取內容

-c選項可以用來根據字符位置進行提取,注意空格和Tab也以字符來處理。

打印 context.txt 文件每一行的第一個字符,如下:

  1. $ cut -c 1 content.txt 

下面顯示了 context.txt 文件每一行的第一至七個字符;

  1. $ cut -c 1-7 content.txt 
  2. Ubuntu 
  3. Microso 
  4. OsX El 
  5. Unix 
  6. FreeBSD 

我們再測試一下只指定開始或結束的位置。

下面提取第二個到最后一個字符:

  1. $ cut -c2- content.txt 
  2. buntu Linux 
  3. icrosoft Windows 
  4. sX El Capitan 
  5. nix 
  6. reeBSD 

提取第一到第四個字符:

  1. cut -c-4 content.txt 
  2. Ubun 
  3. Micr 
  4. OsX 
  5. Unix 
  6. Free 

如何根據字節提取

使用-b選項通過指定字節的位置來選擇一行的某一部分,使用逗號分隔每個指定位置,或用連字符 - 指定一個范圍。

下面這個例子提取 content.txt 文件每一行的第一,二,三個字節:

  1. $ cut -b 1,2,3 content.txt  
  2. Ubu 
  3. Mic 
  4. OsX 
  5. Uni 
  6. Fre 

我們也可以用如下命令列出一個范圍;

  1. $ cut -b 1-3,5-7 content.txt  
  2. Ubutu  
  3. Micoso 
  4. OsXEl  
  5. Uni 
  6. FreBSD 

一些實用的例子

cut 是一個實用的命令,常常和其他Linux或Unix命令結合使用 。

例如如果你想提取 ps 命令中的 USER,PID和COMMAND:

  1. ps -L u n | tr -s " " | cut -d " " -f 2,3,14- 
  2. USER PID COMMAND 
  3. 0 676 /sbin/agetty -o -p -- \u --keep-baud 115200,38400,9600 ttyS0 vt220 
  4. 0 681 /sbin/agetty -o -p -- \u --noclear tty1 linux 
  5. 0 23174 -bash 
  6. 0 26737 ps -L u n 
  7. 0 26738 tr -s 
  8. 0 26739 cut -d -f 2,3,14- 

再測試一個例子,提取內存的 total,used和free值,并保存到一個文件中。

  1. free -m | tr -s ' ' | sed '/^Mem/!d' | cut -d" " -f2-4 >> memory.txt 
  2. $ cat memory.txt 
  3. 985 86 234 

總結

cut 命令可以和很多其他Linux或Unix命令通過管道連接。可以通過管道傳遞一個或多個過濾器進行額外的文本處理。

cut 命令的局限性之一是它不支持指定多個字符作為分隔符。多個空格會被計算為多個字段分隔符,因此必須在 cut 命令前使用 tr 命令才能獲得需要的輸出。

 

責任編輯:武曉燕 來源: 良許Linux
相關推薦

2023-12-21 13:59:41

2020-04-21 16:13:29

LinuxCut命令Unix系統

2014-07-24 11:37:54

LinuxTop命令

2022-09-01 12:17:43

SCSI協議Linux

2021-04-14 16:06:42

Linuxchattr命令

2017-03-10 15:25:35

Linuxnetstat命令

2020-08-13 07:38:41

Linux screen命令

2012-05-10 08:46:05

Linuxsort命令

2012-05-11 10:07:55

Linuxfind

2012-05-10 08:37:54

Linuxxargs

2018-08-06 08:51:32

Linux命令cut

2009-07-31 16:14:27

linux cd命令Linux基本命令

2010-06-23 10:03:18

Linux Bash命

2009-11-11 10:24:10

linuxecho命令詳解

2012-05-10 08:55:11

Linuxuniq

2009-12-25 14:03:46

Linux vi

2010-06-22 10:28:04

linux at命令

2010-05-25 14:32:09

Linux tcpdu

2021-01-14 07:53:09

Linuxlsof 命令

2009-08-03 09:20:18

find命令詳解find命令linux find命
點贊
收藏

51CTO技術棧公眾號

曰韩不卡视频| 日本不卡一区二区三区四区| 国产在线观看av| 蜜桃91丨九色丨蝌蚪91桃色| 色噜噜狠狠狠综合曰曰曰88av| 动漫h在线观看| 国产激情一区二区三区| 91超碰在线电影| 日韩精品视频中文字幕| 欧美日韩国产首页| 国产视频青青| 99精品国产热久久91蜜凸| 你懂的网址一区二区三区| 欧美男gay| 久久久97精品| 波多野结衣视频一区二区| 色狠狠色噜噜噜综合网| 欧美日韩中文不卡| 白白色 亚洲乱淫| 欧美日韩最好看的视频| 一区二区三区网站| 日韩av片永久免费网站| 91九色综合| 日韩成人在线观看| 精品美女在线观看视频在线观看| 一区二区在线观看免费| 91免费视频网站在线观看| 精彩视频一区二区| 精品国产免费久久久久久尖叫| 欧美日中文字幕| 日本久久中文字幕| 性欧美xxxx免费岛国不卡电影| 欧美日韩国产999| 日韩久久99| 中文字幕日韩欧美在线 | 66久久国产| 国产精品九九久久久久久久| 四虎5151久久欧美毛片| 久久久久久久久久亚洲| 欧美第一在线视频| 色综合久久精品亚洲国产 | 波多野结衣精品久久| 久久久久久免费视频| 国产在线视频一区| 色综合狠狠操| 2019国产精品视频| 亚洲激情视频| 日韩欧美一区二区三区四区| 老司机午夜免费精品视频| 蜜桃91精品入口| 天天槽夜夜槽| 久久夜色精品一区| 国产精品免费电影| 在线日本中文字幕| 精品福利av| 国产精品一区视频网站| 欧美国产一级| 91久久精品www人人做人人爽| 久久精品成人欧美大片| 秋霞午夜理伦电影在线观看| 国产一区二区三区免费看| 日韩在线资源网| 欧美极品日韩| 阿v视频在线观看| 欧美日韩精品国产| 写真片福利在线播放| 免播放器亚洲| 制服国产精品| 99久久免费精品高清特色大片| 久久婷婷国产91天堂综合精品| 亚洲欧美日韩国产成人精品影院| 伊人网在线视频| 日韩一区二区影院| 精品欧美日韩精品| 国产99久久精品一区二区| 国产一区激情| 玖玖精品在线视频| 国产精品欧美经典| 午夜影院在线观看视频| 欧美一区二区三区喷汁尤物| 不卡亚洲精品| 国产欧美精品xxxx另类| 免费在线成人| 伊人成色综合网| 午夜成人在线视频| 波多野结衣在线观看| 久久久久久久久国产精品| 在线中文一区| 日韩中文字幕在线免费| 午夜精品久久久| 成人欧美大片| 国产精品爱久久久久久久| 日韩精品欧美精品| 9久久婷婷国产综合精品性色 | 亚洲欧洲一区二区福利| 久久久久久久电影| 国产51人人成人人人人爽色哟哟| 日韩av在线看| 成人三级视频| 成人毛片100部免费看| 一卡二卡欧美日韩| a'aaa级片在线观看| 国产91|九色| 精品一区二区在线视频| a4yy在线播放免费观看视频| 亚洲欧美日韩国产中文专区| 天天综合一区| 人妻丰满熟妇av无码区app| 制服丝袜亚洲播放| 国内精品久久久久久99蜜桃| a级黄色片免费| 欧美欧美午夜aⅴ在线观看| 亚洲性视频在线| 亚洲欧洲国产日韩精品| 五月婷婷激情综合网| 成人在线视频www| 欧美一区二区三区成人久久片| 国产精品不卡一区| 播放一区二区| 欧美专区一二三 | 久久精品在线免费观看| 日本在线视频网| 国产精品福利久久久| 国产91精品在线观看| 巨大荫蒂视频欧美大片| 国产精品直播网红| 国产精品麻豆欧美日韩ww| 香蕉久久免费电影| 蜜桃传媒视频麻豆第一区免费观看| 国产精品久久久久久一区二区三区| 日韩三级免费| 成人蜜桃视频| 天天色图综合网| 日韩电影不卡一区| 国产黄色一级网站| 亚洲欧美成人网| 蜜臀91精品一区二区三区| 在线观看免费黄视频| 92看片淫黄大片看国产片| 亚洲伦理在线精品| 动漫av一区| 视色视频在线观看| 久久精品二区亚洲w码| 丁香花在线影院| 蜜桃视频中文字幕| 一级毛片在线| 国产后进白嫩翘臀在线观看视频| 国产成人无码一二三区视频| 欧美怡春院一区二区三区| 在线免费一区三区| 日韩免费一区| 久久久久久国产精品免费免费| 亚洲综合色视频| 一区二区三区视频免费观看| av激情网站| 欧美中文字幕视频| 欧美日韩国产a| 亚洲网站啪啪| 69xxx在线| 黄色片视频在线观看| 亚洲五码中文字幕| av成人男女| 在线观看的毛片| 欧美精品18videos性欧美| 国产欧美日韩不卡免费| 亚洲精选av| metart日本精品嫩模| 日本精品免费观看| 亚洲午夜在线电影| 久久av中文| 男女无套免费视频网站动漫| 久久成年人免费电影| 乱熟女高潮一区二区在线| 草草视频在线观看| 国产精品中文字幕一区二区三区| 在线观看日韩电影| 98视频在线噜噜噜国产| 97精品国产97久久久久久春色| 国产狼人综合免费视频| 92看片淫黄大片看国产片| 91九色国产ts另类人妖| 91视频最新入口| 在线观看美女网站大全免费| 僵尸再翻生在线观看| 高清中文字幕一区二区三区| 免费av在线播放| 99精品国产高清一区二区麻豆| 视频在线观看91| 久久久电影一区二区三区| 伊人色综合久久天天人手人婷| 亚洲电影在线播放| 亚洲片国产一区一级在线观看| 欧美专区在线观看| 国产极品jizzhd欧美| 亚洲精品一区国产精品| 51精品视频| 一区二区三区网站| 依依成人综合视频| 日本精品视频在线观看| 美女一区二区三区视频|