自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

帶有實(shí)際示例的Linux Cut命令

系統(tǒng) Linux
在本教程中,我們將通過一些實(shí)用示例來學(xué)習(xí)Linux cut命令,你可以在日常命令行活動中使用這些示例。

cut命令用于Linux和Unix系統(tǒng)中,從文件的每一行剪切字節(jié)、字符和字段并將這些字節(jié)、字符和字段寫至標(biāo)準(zhǔn)輸出。

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

[[323116]]

Cut命令和語法

cut命令基本語法如下:

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

讓我們看一下這個(gè)選項(xiàng),沒有哪個(gè)選項(xiàng)此命令不起作用。

剪切選項(xiàng):

  • f:通過指定字段進(jìn)行提取。cut命令使用“ TAB”作為默認(rèn)字段分隔符。
  • d:'Tab'是默認(rèn)的分隔符,使用此選項(xiàng)可以使用特定的分隔符。
  • b:通過指定一個(gè)字節(jié)來提取。也可以指定字節(jié)范圍。
  • c:按字符分割。這可以是用逗號分隔的數(shù)字列表,也可以是用連字符(-)分隔的數(shù)字范圍。–complement:用來補(bǔ)充選擇
  • output-delimiter:要更改輸出分隔符,請使用選項(xiàng)-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選項(xiàng)是-d和-f的組合,它基本上會根據(jù)特定的分隔符和列出的字段提取內(nèi)容。

例如,以下僅使用分隔符(:)輸出'/ 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'的文件中刪除了第一個(gè)字段。

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

本示例從特定文件中提取多個(gè)字段。在這里,我們使用冒號(:)分隔符從文件“ / etc / passwd”中提取第一和第六字段,文件中包含字符串“ / bin / bash”:

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

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

  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 

如何補(bǔ)充輸出選擇

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

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

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

如何指定輸出分隔符:

要指定輸出分隔符,請使用--output-delimiter選項(xiàng)。輸入分隔符由-d選項(xiàng)指定,默認(rèn)情況下,輸出分隔符與輸入分隔符相同。

讓我們首先看下輸出不使用輸出分隔符的情況,如下所示:

  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 

現(xiàn)在,我添加了--output-delimiter選項(xiàng),并將輸入分隔符冒號(:)替換為輸出分隔符“ 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 

讓我們看下另一個(gè)示例,這里我們使用輸出分隔符輸出在新行的每個(gè)字段上。

在這里,我們將--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的文件的每一行輸出第一個(gè)字符,請使用以下命令:

  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 

讓我們看看如何通過特定的開始或結(jié)束位置來選擇列。

要將列從第二個(gè)字符提取到最后一個(gè)字符:

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

要從第一個(gè)字符到第四個(gè)字符提取列:

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

如何按照字節(jié)剪切

使用-b選項(xiàng)通過用逗號(,)分隔的數(shù)字指定字節(jié)位置來選擇一行中的一部分。使用連字符可以指定字節(jié)范圍。

以下示例從名為“ content.txt”的文件的第1、2和3個(gè)字節(jié)切出:

  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 

一些實(shí)用的示例

Cut是結(jié)合不同的Linux或Unix命令最實(shí)用的方法。

例如,您要使用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- 

讓我們再舉一個(gè)例子來提取內(nèi)存的“ total”、“ used”和“ free”值,并使用多個(gè)命令將其保存到文本文件中:

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

結(jié)論

cut命令可以與許多其他Linux或Unix命令一起傳遞??梢酝ㄟ^管道傳遞一個(gè)或多個(gè)過濾器以進(jìn)行其他文本處理。

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

 

責(zé)任編輯:趙寧寧 來源: CU技術(shù)社區(qū)
相關(guān)推薦

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-01-17 10:05:33

LinuxWatch命令

2022-04-28 08:05:05

數(shù)據(jù)庫數(shù)據(jù)庫交互

2013-05-23 15:10:34

Netcat

2020-09-29 07:18:24

Linuxtee命令

2013-10-08 15:51:03

Linux find命

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-21 13:31:11

Oracle時(shí)間

2020-05-20 13:45:52

Linuxtouch命令

2015-03-25 10:36:57

lsLinux

2022-05-08 09:39:20

LinuxTee 命令

2021-07-19 15:12:21

Python編程語言

2010-06-02 17:46:54

MySQL 查詢緩存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號