0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中cut命令的實用示例

馬哥Linux運維 ? 來源:huaweicloud ? 2024-08-05 15:14 ? 次閱讀

Linux command cut 用于文本處理。您可以使用此命令通過選擇列從文件中提取部分文本。

本文提供了一些可在日常命令行活動中使用的 cut 命令的實用示例。

對于大多數(shù)示例,我們將使用以下測試文件。

$ cat test.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out files and directories with its attributes.

1.選擇字符列

要從文件中僅提取所需的列,請使用 -c 選項。以下示例顯示文件 test.txt 每一行的第二個字符

$ cut -c2 test.txt
a
p
s

如上所示,字符 a、p、s 是 test.txt 文件每一行的第二個字符。

2.使用范圍選擇字符列

通過指定用 - 分隔的開始和結(jié)束位置,也可以從文件中提取字符范圍。以下示例從名為 test.txt 的文件中提取每行的前 3 個字符

$ cut -c1-3 test.txt
cat
cp
ls

3.使用開始或結(jié)束位置選擇字符列

可以使用 -c 選項將開始位置或結(jié)束位置傳遞給 cut 命令。

以下僅指定“-”之前的開始位置。此示例從 test.txt 文件中提取每行的第三個字符到結(jié)尾。

$ cut -c3- test.txt
t command for file oriented operations.
 command for copy files or directories.
 command to list out files and directories with its attributes.

以下僅指定“-”之后的結(jié)束位置。此示例從 test.txt 文件的每行開頭提取 8 個字符。

$ cut -c-8 test.txt
cat comm
cp comma
ls comma

當您沒有在“-”之前或之后指定數(shù)字時,將打印整行,如下所示。

$ cut -c- test.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out files and directories with its attributes.

4. 從文件中選擇特定字段

如果您想提取整個字段,而不是選擇 x 個字符,您可以組合選項 -f 和 -d。選項 -f 指定要提取的字段,選項 -d 指定輸入文件中使用的字段分隔符。

以下示例使用字段分隔符:(冒號)僅顯示 /etc/passwd 文件中每行的第一個字段。在這種情況下,第一個字段是用戶名。文件

$ cut -d':' -f1 /etc/passwd
root
daemon
bin
sys
sync
games
bala

5. 從文件中選擇多個字段

您還可以從文件或標準輸出中提取多個字段。下面的示例顯示登錄 shell 為“/bin/bash”的用戶的用戶名和主目錄。

$ grep "/bin/bash" /etc/passwd | cut -d':' -f1,6
root:/root
bala:/home/bala

要顯示字段范圍,請指定開始字段和結(jié)束字段,如下所示。在此示例中,我們選擇字段 1 到 4、6 和 7

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

6. 僅當一行包含分隔符時才選擇字段

在我們的 /etc/passwd 示例中,如果您傳遞除 :(冒號)以外的其他分隔符,cut 將僅顯示整行。

在以下示例中,我們將分隔符指定為 |(管道),并且 cut 命令僅顯示整行,即使它沒有找到任何具有 | 的行。(管道)作為分隔符。

$ grep "/bin/bash" /etc/passwd | cut -d'|'  -f1
root:x:0:0:root:/root:/bin/bash
bala:x:1000:1000:bala,,,:/home/bala:/bin/bash

但是,可以使用 -s 選項僅過濾和顯示包含指定分隔符的行。

以下示例不顯示任何輸出,因為 cut 命令沒有找到任何具有 | 的行。(管道)作為 /etc/passwd 文件中的分隔符。

$ grep "/bin/bash" /etc/passwd | cut -d'|' -s -f1

7.選擇除指定字段外的所有字段

為了補充選擇字段列表,請使用選項 -complement。

以下示例顯示 /etc/passwd 文件中除字段 7 之外的所有字段

$ grep "/bin/bash" /etc/passwd | cut -d':' --complement -s -f7
root:x:0:0:root:/root
bala:x:1000:1000:bala,,,:/home/bala

8.更改顯示的輸出分隔符

默認情況下,輸出分隔符與我們在 cut -d 選項中指定的輸入分隔符相同。

要更改輸出分隔符,請使用選項 –output-delimiter,如下所示。在此示例中,輸入分隔符是 :(冒號),但輸出分隔符是 #(哈希)。

$ grep "/bin/bash" /etc/passwd | cut -d':'  -s -f1,6,7 --output-delimiter='#'
root#/root#/bin/bash
bala#/home/bala#/bin/bash

9. 將輸出分隔符更改為換行符

在此示例中,cut 命令輸出的每個字段都顯示在單獨的行中。我們?nèi)匀皇褂?-output-delimiter,但值是$' ',這表明我們應該添加一個換行符作為輸出分隔符。

$ grep bala /etc/passwd | cut -d':' -f1,6,7 --output-delimiter=$'
'
bala
/home/bala
/bin/bash

10. 結(jié)合 Cut 與其他 Unix 命令輸出

當你將它與其他一些 Unix 命令的 stdout 結(jié)合使用時,可以實現(xiàn) cut 命令的強大功能。

一旦您掌握了我們上面解釋過的 cut 命令的基本用法,您就可以明智地使用 cut 命令來解決您的許多文本操作需求。

以下示例說明如何從ps 命令輸出中僅提取有用信息。我們還展示了如何在將最終輸出提供給 cut 命令之前使用 grep 和 sed 過濾 ps 命令的輸出。在這里,我們使用了剪切選項 -d 和 -f 我們在上面的例子中已經(jīng)解釋過了。

$ ps axu | grep python | sed 's/s+/ /g' | cut -d' ' -f2,11-
2231 /usr/bin/python /usr/lib/unity-lens-video/unity-lens-video
2311 /usr/bin/python /usr/lib/unity-scope-video-remote/unity-scope-video-remote
2414 /usr/bin/python /usr/lib/ubuntuone-client/ubuntuone-syncdaemon
2463 /usr/bin/python /usr/lib/system-service/system-service-d
3274 grep --color=auto python

鏈接:https://bbs.huaweicloud.com/blogs/368236

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11304

    瀏覽量

    209521
  • 文件
    +關注

    關注

    1

    文章

    566

    瀏覽量

    24746
  • 命令
    +關注

    關注

    5

    文章

    684

    瀏覽量

    22027

原文標題:掌握 Linux 中的 cut 命令:如何選擇文件列的實用技巧與示例

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux系統(tǒng)unlink命令的使用

    Linux 刪除文件,我們通常使用 rm 命令。除此以外,還有另外一個命令,可以用于刪除文件和鏈接,這就是 unlink 命令。雖然它
    發(fā)表于 09-13 14:29 ?2126次閱讀

    Linux教程:Linux Tee命令真實示例詳細指南

    使用 Linux 終端時,您可能需要執(zhí)行命令將一些數(shù)據(jù)寫入文件并進一步處理其輸出。命令是一個可以幫助您實現(xiàn)這一目標的強大實用程序tee。 這篇文章將為您提供有關tee命令的詳細指南,并
    發(fā)表于 10-31 10:02 ?623次閱讀

    Linux tcpdump命令示例 如何在Linux安裝tcpdump

    在這里,我們將展示如何安裝 tcpdump,然后討論并介紹一些有用的命令以及它們的實際示例
    發(fā)表于 08-06 11:11 ?3693次閱讀
    <b class='flag-5'>Linux</b> tcpdump<b class='flag-5'>命令</b><b class='flag-5'>示例</b> 如何在<b class='flag-5'>Linux</b><b class='flag-5'>中</b>安裝tcpdump

    Linux與用戶有關的命令

    Linux與用戶有關的命令 Linux與用戶有關的命令  passwd命令  出于系統(tǒng)安全考慮,Lin
    發(fā)表于 01-18 12:46 ?770次閱讀

    Linux系統(tǒng)命令指南

    在“Linux 文件命令精通指南”,我們討論了利用最基礎和最常用 Linux 文件命令所需的基本信息。在本文中,我將對
    發(fā)表于 05-23 10:23 ?963次閱讀

    Linux的關機命令淺析

    在本篇,我們會向你解釋 shutdown、poweroff、halt 以及 reboot 命令。我們會解釋清楚當你用那些可用的選項執(zhí)行的時候它們實際做了什么。如果你想深入 Linux 服務器管理,那么為了有效和可靠的服務器管理
    發(fā)表于 04-11 09:00 ?1009次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>中</b>的關機<b class='flag-5'>命令</b>淺析

    linux命令無法使用怎么辦

    linux命令無法使用是怎么回事?問題分析
    發(fā)表于 05-28 09:02 ?1904次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>中</b><b class='flag-5'>命令</b>無法使用怎么辦

    Linuxcut命令的格式和選項說明

    上;其二是連接兩個或多個文件,如 cut f1 f2 》 f3 將把文件 f1 和 f2 的內(nèi)容合并起來,然后通過輸出重定向符 》 的作用,將它們放入文件 f3 。 2.命令格式 cut
    的頭像 發(fā)表于 02-26 14:13 ?2502次閱讀

    Linuxmail命令的使用教程分享

    在這里整理一下Linuxmail命令的使用。mail也是一個常用的命令,我們在很多地方都要用到它,比如定時把系統(tǒng)狀況或日志發(fā)送到我們的郵箱里等等。
    發(fā)表于 03-25 16:01 ?9次下載

    如何在Linux上使用粘貼命令?

    粘貼命令的各種選項和使用場景,并通過示例和輸出演示如何使用它。 一、什么是粘貼命令? Paste命令是Unix和Linux操作系統(tǒng)上的一個實
    的頭像 發(fā)表于 02-08 16:58 ?1837次閱讀

    Linux的18個tar命令示例

    下面的示例命令將創(chuàng)建一個tar存檔文件rumenz-14-09-12.tar對于目錄/home/rumenz在當前工作目錄。請參閱示例命令
    的頭像 發(fā)表于 05-04 14:59 ?992次閱讀

    Linux系統(tǒng)的10個常用的文本查看命令

    當你需要查看Linux系統(tǒng)的文本文件時,使用文本編輯器可能會比較繁瑣,特別是當你只需要查看文件的內(nèi)容時。這時,你可以使用Linux命令行下的文本查看工具來快速準確地查看文件。下面介紹
    的頭像 發(fā)表于 06-24 11:44 ?1.1w次閱讀

    linuxsource命令的用法

    Linux,source命令通常用于重新執(zhí)行剛修改的初始化文件,使之立即生效,而不必注銷并重新登錄。source命令可以用于讀取并執(zhí)行腳本文件
    的頭像 發(fā)表于 11-08 14:35 ?2343次閱讀

    linux查看物理接口的命令

    Linux操作系統(tǒng)提供了多種命令和工具來查看物理接口。在這篇文章,我們將詳細介紹一些最常用和常見的命令,以及它們的用法和輸出。 ifconfig
    的頭像 發(fā)表于 11-16 16:48 ?1283次閱讀

    linux備份文件命令bak

    Linux系統(tǒng),備份文件是非常重要的,它可以防止數(shù)據(jù)丟失和損壞的風險。為了達到安全的目的,我們經(jīng)常需要備份文件。在這篇文章,我們將詳細介紹Linux
    的頭像 發(fā)表于 11-23 10:12 ?2647次閱讀