技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

Linux中使用cut命令來提取文本的用法指南

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-01-10 18:13┆點(diǎn)擊:

  有時(shí)我們經(jīng)常會(huì)遇到這樣一些問題:有一頁電話號(hào)碼薄,上面按順序規(guī)則地寫著人名、家庭住址、電話、備注等,此時(shí)我們只想取出所有人的名字和其對(duì)應(yīng)的電話號(hào)碼,你有幾種方法可以實(shí)現(xiàn)呢?

  確實(shí)這種縱向定位的方式用常規(guī)辦法難以實(shí)現(xiàn),這時(shí),cut就可以大顯身手了。

  What’s cut?

  子曰:cut命令可以從一個(gè)文本文件或者文本流中提取文本列。

  命令用法:

  cut -b list [-n] [file ...]

  cut -c list [file ...]

  cut -f list [-d delim][-s][file ...]

  參數(shù):

  -b, --bytes=LIST

  輸出 這些 字節(jié)

  -c, --characters=LIST

  輸出 這些 字符

  -d, --delimiter=DELIM

  使用 DELIM 取代 TAB 做 字段(field) 分隔符

  -f, --fields=LIST

  輸出 這些 字段

  -n

  (忽略)

  -s, --only-delimited

  不顯示 沒有 分隔符 的 行

  --output-delimiter=STRING

  使用 STRING 作為 輸出分隔符, 缺省 (的 輸出分隔符) 為 輸入分隔符

  --help

  顯示 幫助信息, 然后 結(jié)束

  --version

  顯示 版本信息, 然后 結(jié)束

  使用 且 只使用 -b, -c 或 -f 中的 一個(gè) 選項(xiàng). LIST 由 一個(gè) 范圍 (range) 或 逗號(hào) 隔開的 多個(gè) 范圍 組成. 范圍 是 下列 形式 之一:

  N

  第 N 個(gè) 字節(jié), 字符 或 字段, 從 1 計(jì)數(shù) 起

  N-

  從 第 N 個(gè) 字節(jié), 字符 或 字段 直至 行尾

  N-M

  從 第 N 到 第 M (并包括 第M) 個(gè) 字節(jié), 字符 或 字段

  -M

  從 第 1 到 第 M (并包括 第M) 個(gè) 字節(jié), 字符 或 字段

  如果 沒有 指定 文件 FILE, 或 FILE 是 -, 就從 標(biāo)準(zhǔn)輸入 讀取 數(shù)據(jù).

  示例:

  代碼如下:

  [root@localhost ~]# cat /etc/passwd | cut -b 1 |head -5 #輸出文件的第一個(gè)字節(jié)

  r

  b

  d

  a

  l

  代碼如下:

  [root@localhost ~]# cat /etc/passwd | cut -c 1-4 |head -5 #輸出文件的前四個(gè)字符

  root

  bin:

  daem

  adm:

  lp:x

  代碼如下:

  [root@localhost ~]# cat /etc/passwd | cut -f1 -d ':' |head -5 #以:分割文件,輸出第一個(gè)字段

  root

  bin

  daemon

  adm

  lp

  代碼如下:

  # cat a.txt

  ssss affff dddd fe fsc

  rrr f adfa eer ddd

  代碼如下:

  # cat a.txt |cut -f1,3 -d $'t' #1,3列