佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-cut命令詳解

一天一個(gè)shell命令 linux文本內(nèi)容操作系列-cut命令詳解

熱門標(biāo)簽:鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 Linux服務(wù)器 AI電銷 百度競價(jià)排名 服務(wù)外包 呼叫中心市場需求

說明:

cut 按列切分文件,你可以指定分隔每列的定界符。在cut的術(shù)語中,每列都是一個(gè)字段,就是有時(shí)候說第一列,可能表述稱第一個(gè)字段。

實(shí)戰(zhàn):

假設(shè)有文件data.txt,格式如下

NO    Name    Mark    Percent
 1    Sarath    45    90
 2    Alex    49    98
 3    Anu    45    90

分隔符(定界符)為Tab 制表符

如果我要取得第二列,所有人的名稱,有什么好的辦法嗎?此時(shí)cut該大顯身手了。

1. 取得2,3列 即name,和mark

$cut –f 2,3 data.txt

2. 取得除第3列以外所有列

$cut –f3 –complement data.txt

3. 采取其他定界符,可以用-d改變。

復(fù)制代碼 代碼如下:

 假設(shè)data_comma.txt:

NO,Name,Mark,Percent
 1,Sarath,45,90
 2,Alex,49,98
 3,Anu,45,90

則:
$cut –f2 -d"," data_comma.txt

解讀—help

用法:cut [選項(xiàng)]... [文件]...
從每個(gè)文件中輸出指定部分到標(biāo)準(zhǔn)輸出。

長選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
  -b, --bytes=列表            只選中指定的這些字節(jié)
  -c, --characters=列表       只選中指定的這些字符
  -d, --delimiter=分界符      使用指定分界符代替制表符作為區(qū)域分界
  -f, --fields=列表           只選中指定的這些域;并打印所有不包含分界符的
                行,除非-s 選項(xiàng)被指定
  -n                (忽略)
       --complement            補(bǔ)全選中的字節(jié)、字符或域
  -s, --only-delimited        不打印沒有包含分界符的行
      --output-delimiter=字符串    使用指定的字符串作為輸出分界符,默認(rèn)采用輸入
                的分界符
      --help                  顯示此幫助信息并退出
      --version               顯示版本信息并退出

僅使用f -b, -c 或-f 中的一個(gè)。每一個(gè)列表都是專門為一個(gè)類別作出的,或者您可以用逗號(hào)隔
開要同時(shí)顯示的不同類別。您的輸入順序?qū)⒆鳛樽x取順序,每個(gè)僅能輸入一次。
 每種參數(shù)格式表示范圍如下:
    N    從第1 個(gè)開始數(shù)的第N 個(gè)字節(jié)、字符或域
    N-    從第N 個(gè)開始到所在行結(jié)束的所有字符、字節(jié)或域
    N-M    從第N 個(gè)開始到第M 個(gè)之間(包括第M 個(gè))的所有字符、字節(jié)或域
    -M    從第1 個(gè)開始到第M 個(gè)之間(包括第M 個(gè))的所有字符、字節(jié)或域

當(dāng)沒有文件參數(shù),或者文件不存在時(shí),從標(biāo)準(zhǔn)輸入讀取

解讀:

1.取得某一列的字符或者字節(jié) 可以用-c, -b等

2.可以取得某個(gè)范圍

1和2綜合例子:

有文件range_data.txt,內(nèi)容如下

復(fù)制代碼 代碼如下:

abcdefghijklmnopqrstuvwxyz
 abcdefghijklmnopqrstuvwxyz
 abcdefghijklmnopqrstuvwxyz
 abcdefghijklmnopqrstuvwxyz

運(yùn)行:$cut range_data.txt -c-2

打印字符1-2列

再復(fù)雜一點(diǎn):

$cut range_data.txt -c1-3,6-9 --output-delimiter ","

打印1-3行,6-9行,并且用逗號(hào)分隔。

命令比較簡單,主要還是借鑒書籍《linux shell腳本攻略》,從附件中會(huì)看到一排格式很差的字母,嘗試用-s過濾掉他。

您可能感興趣的文章:
  • 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-awk命令詳解
  • 使用Linux正則表達(dá)式靈活搜索文件中的文本
  • 一天一個(gè)shell命令 linux文本操作系列-touch命令用法
  • 一天一個(gè)shell命令 linux文本操作系列-head,tail命令詳解
  • 一天一個(gè)shell命令 linux文本操作系列-diff命令詳解
  • 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-grep命令詳解
  • Linux使用文本編輯器vi常用命令
  • 詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令
  • 一天一個(gè)shell命令 linux文本操作系列-wc命令詳解
  • Linux中查看文本的小技巧(超實(shí)用!)
  • linux之cut命令的用法

標(biāo)簽:仙桃 湖南 黃山 崇左 蘭州 湘潭 銅川 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一天一個(gè)shell命令 linux文本內(nèi)容操作系列-cut命令詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    会东县| 青田县| 马关县| 南靖县| 永定县| 湖口县| 达拉特旗| 永仁县| 顺昌县| 榕江县| 天台县| 曲水县| 南宫市| 宜黄县| 罗江县| 高尔夫| 平潭县| 舞钢市| 靖西县| 湄潭县| 许昌市| 茶陵县| 忻城县| 隆化县| 嵊泗县| 万全县| 海晏县| 定州市| 称多县| 民县| 嘉定区| 土默特右旗| 综艺| 章丘市| 克拉玛依市| 象州县| 塔城市| 滨州市| 麻城市| 清新县| 昭觉县|