grep命令提取符合条件的行,cut命令提取符合条件的列。
[kirk@kirk shell]$ cut [选项] 文件名 选项: -f 列号: 提取第几列 -d 分隔符: 按照指定分隔符分割列 -c 字符范围: 不依赖分隔符来区分列,而是通过字符范围(行首为 0)来进行字段提取。 “n-”表示从第n个字符到行尾;“n-m”表示从第n个字符到第m个字符;“-m”表示从第一个字符到第m个字符。
cut命令的默认分隔符是Tab,对空格符支持不怎么好。
cut命令的使用:
提取多列,用“,”隔开,命令如下:
cut命令按照字符进行提取。“8-”表示提取所有行从第8个字符到行尾。 “10-20”表示提取所有行的第10-20个字符,“-8”表示提取所有行首到第8个字符,命令如下:
cut命令也可以手工指定分隔符。
比如:查看当前Linux服务器中有哪些用户,用户的UID是什么,操作如下:
[kirk@kirk shell]$ cut -d ":" -f 1,3 /etc/passwd # 以“:”作为分隔符,提取/etc/passwd文件的第一列和第三列
cut命令最主要的问题是对空格识别不是很好。比如:
使用cut命令,第三列没出现,这是因为df命令输出的分隔符不是制表符,而是多个空格。所以cut命令会将每个空格符当作一个分隔符,这样数,第三列刚好也是空格。