Linux中cut提取命令

grep命令提取符合条件的行,cut命令提取符合条件的列。

[kirk@kirk shell]$ cut [选项] 文件名
选项:
    -f 列号:       提取第几列
    -d 分隔符:     按照指定分隔符分割列
    -c 字符范围:   不依赖分隔符来区分列,而是通过字符范围(行首为 0)来进行字段提取。 “n-”表示从第n个字符到行尾;“n-m”表示从第n个字符到第m个字符;“-m”表示从第一个字符到第m个字符。

 

 

cut命令的默认分隔符是Tab,对空格符支持不怎么好。

Linux中cut提取命令

 

cut命令的使用:

Linux中cut提取命令

 

 

提取多列,用“,”隔开,命令如下:

Linux中cut提取命令

 

 

cut命令按照字符进行提取。“8-”表示提取所有行从第8个字符到行尾。 “10-20”表示提取所有行的第10-20个字符,“-8”表示提取所有行首到第8个字符,命令如下:

Linux中cut提取命令

 

 

cut命令也可以手工指定分隔符。

比如:查看当前Linux服务器中有哪些用户,用户的UID是什么,操作如下:

[kirk@kirk shell]$ cut -d ":" -f 1,3 /etc/passwd

# 以“:”作为分隔符,提取/etc/passwd文件的第一列和第三列

 

Linux中cut提取命令

 

 

cut命令最主要的问题是对空格识别不是很好。比如:

Linux中cut提取命令

使用cut命令,第三列没出现,这是因为df命令输出的分隔符不是制表符,而是多个空格。所以cut命令会将每个空格符当作一个分隔符,这样数,第三列刚好也是空格。

Linux中cut提取命令

 

 

  

上一篇:利用shell脚本实现每隔60秒磁盘内存数据监控脚本


下一篇:中文分词:逆向匹配最大算法(BMM)