一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

Linux中cut命令的實(shí)用示例

馬哥Linux運(yùn)維 ? 來(lái)源:huaweicloud ? 2024-08-05 15:14 ? 次閱讀

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

本文提供了一些可在日常命令行活動(dòng)中使用的 cut 命令的實(shí)用示例。

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

$ 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.選擇字符列

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

$ cut -c2 test.txt
a
p
s

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

2.使用范圍選擇字符列

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

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

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

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

以下僅指定“-”之前的開(kāi)始位置。此示例從 test.txt 文件中提取每行的第三個(gè)字符到結(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 文件的每行開(kāi)頭提取 8 個(gè)字符。

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

當(dāng)您沒(méi)有在“-”之前或之后指定數(shù)字時(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. 從文件中選擇特定字段

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

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

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

5. 從文件中選擇多個(gè)字段

您還可以從文件或標(biāo)準(zhǔn)輸出中提取多個(gè)字段。下面的示例顯示登錄 shell 為“/bin/bash”的用戶(hù)的用戶(hù)名和主目錄。

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

要顯示字段范圍,請(qǐng)指定開(kāi)始字段和結(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. 僅當(dāng)一行包含分隔符時(shí)才選擇字段

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

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

$ 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 選項(xiàng)僅過(guò)濾和顯示包含指定分隔符的行。

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

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

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

為了補(bǔ)充選擇字段列表,請(qǐng)使用選項(xiàng) -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.更改顯示的輸出分隔符

默認(rèn)情況下,輸出分隔符與我們?cè)?cut -d 選項(xiàng)中指定的輸入分隔符相同。

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

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

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

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

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

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

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

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

以下示例說(shuō)明如何從ps 命令輸出中僅提取有用信息。我們還展示了如何在將最終輸出提供給 cut 命令之前使用 grep 和 sed 過(guò)濾 ps 命令的輸出。在這里,我們使用了剪切選項(xiàng) -d 和 -f 我們?cè)谏厦娴睦又幸呀?jīng)解釋過(guò)了。

$ 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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11420

    瀏覽量

    212319
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    577

    瀏覽量

    25125
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    722

    瀏覽量

    22631

原文標(biāo)題:掌握 Linux 中的 cut 命令:如何選擇文件列的實(shí)用技巧與示例

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    Linux教程:Linux Tee命令真實(shí)示例詳細(xì)指南

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

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

    在這里,我們將展示如何安裝 tcpdump,然后討論并介紹一些有用的命令以及它們的實(shí)際示例
    發(fā)表于 08-06 11:11 ?3999次閱讀
    <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系統(tǒng)命令指南

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

    Linux的關(guān)機(jī)命令淺析

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

    linux命令無(wú)法使用怎么辦

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

    Linuxcut命令的格式和選項(xiàng)說(shuō)明

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

    Linuxmail命令的使用教程分享

    在這里整理一下Linuxmail命令的使用。mail也是一個(gè)常用的命令,我們?cè)诤芏嗟胤蕉家玫剿热缍〞r(shí)把系統(tǒng)狀況或日志發(fā)送到我們的郵箱里等等。
    發(fā)表于 03-25 16:01 ?9次下載

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

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

    Linux的18個(gè)tar命令示例

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

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

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

    linuxsource命令的用法

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

    linux查看物理接口的命令

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

    linux備份文件命令bak

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

    Linux實(shí)時(shí)查看日志的四種命令詳解

    如何在Linux實(shí)時(shí)查看日志文件的內(nèi)容?那么有很多實(shí)用程序可以幫助用戶(hù)在文件更改或不斷更新時(shí)輸出文件的內(nèi)容。在Linux實(shí)時(shí)顯示文件內(nèi)容的常用
    的頭像 發(fā)表于 01-13 10:45 ?2162次閱讀
    <b class='flag-5'>Linux</b>實(shí)時(shí)查看日志的四種<b class='flag-5'>命令</b>詳解