簡明Linux命令列筆記:cut

來源:互聯網
上載者:User
文章目錄
  • 參數
  • 選項
  •  
  • 樣本
  • Tips

從輸入行中選取字元或者欄位

cut [options] [file-list]

 

cut 從輸入行中選取字元或者欄位,並將他們寫到標準輸出,字元和欄位從1開始編號

 

參數

file-list 是檔案的路徑名列表,如果沒有指定參數,或者使用連字號(-)來代替檔案名稱,那麼cut將從標準輸入來擷取輸入

 

選項

-c clist                選取由clist中的列號指定的字元。clist的值為列號(多個值用逗號分隔)或者列範圍,列範圍用兩個列號指定,

                          中間用連字號隔開。範圍-n表示從第1~n列。n-表示從第n列到行尾。n-m表示從第n~m列

-d dchar              將dchar作為輸入欄位的分割符,預設分隔符號為定位字元,特殊情況下可使用逸出字元

-f flist                  選擇在flist中指定的欄位。flist的值為欄位號(多個值用逗號分隔)或者欄位的範圍。欄位範圍可以用兩個欄位號指定,

                          中間用連字號隔開。範圍-n表示從第1~n個欄位,範圍n-表示從第n個欄位到行尾,n-m表示從第n~m個欄位。預設字

                          段的分隔字元為定位字元,也可以使用-d選項來指定分割符

-s                       僅列印包含分割符的行,如果沒有此選項,則列印不包含分割符的行

 樣本

先看看原檔案

$ cat a.txt1111 2222 3333 4444 55551111 2222 3333 4444 55551111 2222 3333 4444 55551111 2222 3333 4444 5555------------------------

 

cut -c 列範圍
$ cut -c1-4 a.txt1111111111111111----

指定列範圍列印字元

 

cut -c 列號
$ cut -c1,6 a.txt12121212--

指定列號列印字元

 

cut -d -f
$ cut -d' ' -f1-3 a.txt1111 2222 33331111 2222 33331111 2222 33331111 2222 3333------------------------

指定分隔字元和欄位範圍列印字元,此處文字檔中預設以space作為分隔字元,最底下沒有分隔字元,所以全部列印

還可用cut -d -fn,n指定欄位號

 

cut -s -d -f
$ cut -s -d' ' -f1-3 a.txt1111 2222 33331111 2222 33331111 2222 33331111 2222 3333

使用-s選項列印包含分隔字元的行,最末行沒有分隔字元,所以不列印

 

Tips

雖然cut在功能上有所限制,但是它能較快的分割列和欄位,有時能與paste配合使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.