成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

帶有實際示例的Linux Cut命令

系統 Linux
在本教程中,我們將通過一些實用示例來學習Linux cut命令,你可以在日常命令行活動中使用這些示例。

cut命令用于Linux和Unix系統中,從文件的每一行剪切字節、字符和字段并將這些字節、字符和字段寫至標準輸出。

在本教程中,我們將通過一些實用示例來學習Linux cut命令,你可以在日常命令行活動中使用這些示例。

[[323116]]

Cut命令和語法

cut命令基本語法如下:

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

讓我們看一下這個選項,沒有哪個選項此命令不起作用。

剪切選項:

  • f:通過指定字段進行提取。cut命令使用“ TAB”作為默認字段分隔符。
  • d:'Tab'是默認的分隔符,使用此選項可以使用特定的分隔符。
  • b:通過指定一個字節來提取。也可以指定字節范圍。
  • c:按字符分割。這可以是用逗號分隔的數字列表,也可以是用連字符(-)分隔的數字范圍。–complement:用來補充選擇
  • output-delimiter:要更改輸出分隔符,請使用選項-output-delimiter ='delimiter'。
  • -only-delimited:Cut將不會輸出不包含分隔符的行

在本教程中,我們將使用以下名為“ content.txt”的文本文件和/ etc / passwd文件來說明我們的示例。

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

如何用分隔符剪切

最常用的cut選項是-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. ... 

在下面的示例中,我們使用空格(“”)作為分隔符,并從名為'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. slax:/home/slax 

要顯示字段范圍,請指定以hypen(-)分隔的開始字段和結束字段,如下所示:

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

如何補充輸出選擇

要補充選擇字段列表,請使用--complement選項。此選項用于在何處選擇除指定字段以外的所有字段。

在下面的示例命令中,將輸出'/ etc / passwd'文件中第二個字段以外的所有字段:

  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選項,并將輸入分隔符冒號(:)替換為輸出分隔符“ SPACE”,如下所示:

  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 

如何按字符剪切

用于按字符位置剪切。請記住,“ TABS”和“空格”也被視為字符。

要從名為content.txt的文件的每一行輸出第一個字符,請使用以下命令:

  1. $ cut -c 1 content.txt 

在下面的示例中,我們將顯示文件中每行的字符1至7(范圍):

  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、2和3個字節切出:

  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. Output 
  3. $ cat memory.txt 
  4. 985 86 234 

結論

cut命令可以與許多其他Linux或Unix命令一起傳遞。可以通過管道傳遞一個或多個過濾器以進行其他文本處理。

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

 

責任編輯:趙寧寧 來源: CU技術社區
相關推薦

2018-08-06 08:51:32

Linux命令cut

2020-07-20 07:45:00

Linux

2023-12-21 13:59:41

2022-08-29 08:33:22

SocatLinux命令

2010-06-24 14:08:25

Linux Cat命令

2013-11-15 16:07:26

Linux dfLinux命令

2022-04-28 08:05:05

數據庫數據庫交互

2022-01-17 10:05:33

LinuxWatch命令

2010-04-21 13:31:11

Oracle時間

2013-10-08 15:51:03

Linux find命

2020-09-29 07:18:24

Linuxtee命令

2013-05-23 15:10:34

Netcat

2013-10-08 16:24:34

Linux find命

2022-05-09 08:55:58

Linuxdiff命令

2018-04-16 10:12:46

Linux命令gunzip

2010-04-12 12:30:44

Oracle 安裝腳本

2010-05-18 16:29:44

MySQL修改表

2010-06-02 17:46:54

MySQL 查詢緩存

2021-07-19 15:12:21

Python編程語言

2020-05-20 13:45:52

Linuxtouch命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一级| 亚洲区一区二 | 久久男人天堂 | 99精品在线| 伊人狼人影院 | 三a毛片| 国产精品久久久久久久久大全 | 欧美二区在线 | 亚洲免费av一区 | 成人在线视频观看 | 在线国产视频 | 亚洲a在线视频 | 成人久久18免费网站图片 | 欧美日韩在线一区 | 综合色播 | 高清成人免费视频 | 一区二区三区小视频 | 国产精品夜色一区二区三区 | 久久免费高清视频 | 亚洲三级在线 | 天天综合天天 | 一级黄a | 免费黄篇| 人人做人人澡人人爽欧美 | 久久久久国产精品午夜一区 | 91在线精品一区二区 | 99久久久国产精品免费消防器 | 亚洲福利 | 精品国产乱码一区二区三区a | 91久久国产综合久久 | 91麻豆精品国产91久久久更新资源速度超快 | 国产91成人| 午夜欧美| 亚洲欧美激情精品一区二区 | 91精品在线看 | 在线一区 | 天天干天天插 | 手机日韩 | 国产精品免费一区二区三区四区 | 亚洲天堂久久 | 日韩在线播放一区 |