一天一個shell命令 linux常值內容操作系列-cut命令詳解_linux shell

來源:互聯網
上載者:User

說明:

cut 按列切分檔案,你可以指定分隔每列的定界符。在cut的術語中,每列都是一個欄位,就是有時候說第一列,可能表述稱第一個欄位。

實戰:

假設有檔案data.txt,格式如下

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

分隔字元(定界符)為Tab 定位字元

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

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

$cut –f 2,3 data.txt

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

$cut –f3 –complement data.txt

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

複製代碼 代碼如下:

 假設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 [選項]... [檔案]...
從每個檔案中輸出指定部分到標準輸出。

長選項必須使用的參數對於短選項時也是必需使用的。
  -b, --bytes=列表            只選中指定的這些位元組
  -c, --characters=列表       只選中指定的這些字元
  -d, --delimiter=分界符      使用指定分界符代替定位字元作為地區分界
  -f, --fields=列表           只選中指定的這些域;並列印所有不包含分界符的
                行,除非-s 選項被指定
  -n                (忽略)
       --complement            補全選中的位元組、字元或域
  -s, --only-delimited        不列印沒有包含分界符的行
      --output-delimiter=字串    使用指定的字串作為輸出分界符,預設採用輸入
                的分界符
      --help                  顯示此協助資訊並退出
      --version               顯示版本資訊並退出

僅使用f -b, -c 或-f 中的一個。每一個列表都是專門為一個類別作出的,或者您可以用逗號隔
開要同時顯示的不同類別。您的輸入順序將作為讀取順序,每個僅能輸入一次。
 每種參數格式表示範圍如下:
    N    從第1 個開始數的第N 個位元組、字元或域
    N-    從第N 個開始到所在行結束的所有字元、位元組或域
    N-M    從第N 個開始到第M 個之間(包括第M 個)的所有字元、位元組或域
    -M    從第1 個開始到第M 個之間(包括第M 個)的所有字元、位元組或域

當沒有檔案參數,或者檔案不存在時,從標準輸入讀取

解讀:

1.取得某一列的字元或者位元組 可以用-c, -b等

2.可以取得某個範圍

1和2綜合例子:

有檔案range_data.txt,內容如下

複製代碼 代碼如下:

abcdefghijklmnopqrstuvwxyz
 abcdefghijklmnopqrstuvwxyz
 abcdefghijklmnopqrstuvwxyz
 abcdefghijklmnopqrstuvwxyz

運行:$cut range_data.txt -c-2

列印字元1-2列

再複雜一點:

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

列印1-3行,6-9行,並且用逗號分隔。

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.