linux shell cut命令用法

时间:2023-01-30 22:14:59
cut用法
c u t用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。

c u t一般格式为:
  1. cut [options] file1 file2

下面介绍其可用选项:
-c list 指定剪切字符数。
-f field 指定剪切域数。
-d 指定与空格和t a b键不同的域分隔符。
- c用来指定剪切范围,如下所示:
- c 1,5-7 剪切第1个字符,然后是第5到第7个字符。
-c1-50 剪切前5 0个字符。
-f 格式与- c相同。
-f 1,5 剪切第1域,第5域。
- f 1,10-12 剪切第1域,第1 0域到第1 2域。


现在从' p e r s '文件中剪切文本。
  1. [sam@chenwy sam]$ cat pers
  2. P.Jones Office Runner ID897
  3. S.Round UNIX admin ID666
  4. L.Clip Personl Chief ID982


使用域分隔符
文件中使用空格“ ”为域分隔符,故可用- d选项指定冒号,如- d " "。如果有意观察第3域,可以使用- f 3。要抽取I D域。可使用命令如下:
  1. [sam@chenwy sam]$ cut -d" " -f3 pers
  2. Runner
  3. admin
  4. Chief


剪切指定域
c u t命令中剪切各域需用逗号分隔,如剪切域1和3,即名字和I D号,可以使用:
  1. [sam@chenwy sam]$ cut -d" " -f1,3 pers
  2. P.Jones Runner
  3. S.Round admin
  4. L.Clip Chief


使用- c选项指定精确剪切数目
这种方法需确切知道开始及结束字符。通常我不用这种方法,除非在固定长度的域或文件名上。
当信息文件传送到本机时,查看部分文件名就可以识别文件来源。要得到这条信息需抽取文件名后三个字符。然后才决定将之存在哪个目录下。下面的例子显示文件名列表及相应c u t命令:
  1. [sam@chenwy sam]$ cat pers2
  2. Dept2C ID897 6 years
  3. Dept3S ID666 2 years
  4. Dept5Z ID982 1 year

  1. [sam@chenwy sam]$ cut -c4-8,11-12 pers2
  2. t2C I97
  3. t3S I66
  4. t5Z I82


要剪切谁正在使用系统的用户信息,方法如下:
  1. [sam@chenwy sam]$ who -u|cut -c1-8
  2. root
  3. root