linux命令之cut
用法:cut [选项]... [文件]...
从每个文件中输出指定部分到标准输出。
d
长选项必须使用的参数对于短选项时也是必需使用的。
-b, --bytes=列表只选中指定的这些字节
-c, --characters=列表只选中指定的这些字符
-d, --delimiter=分界符使用指定分界符代替制表符作为区域分界
-f, --fields=LIST select only these fields; also print any line
that contains no delimiter character, unless
the -s option is specified
-n with -b: don't split multibyte characters
--complement补全选中的字节、字符或域
-s, --only-delimited不打印没有包含分界符的行
--output-delimiter=字符串使用指定的字符串作为输出分界符,默认采用输入
的分界符
--help显示此帮助信息并退出
--version显示版本信息并退出
仅使用f -b, -c 或-f 中的一个。每一个列表都是专门为一个类别作出的,或者您可以用逗号隔
开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次。
每种参数格式表示范围如下:
N从第1 个开始数的第N 个字节、字符或域
N-从第N 个开始到所在行结束的所有字符、字节或域
N-M从第N 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
-M从第1 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
当没有文件参数,或者文件不存在时,从标准输入读取
请向bug-coreutils@gnu.org 报告cut 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告cut 的翻译错误
要获取完整文档,请运行:info coreutils 'cut invocation'
note:
用法
cut [-bn] [file]
cut [-c] [file]
cut [-df] [file]
使用说明
该命令从文件的每一行剪切字节、字符和字段 并将这些数据写至stdout
如果不指定文件参数,cut命令将读取标准输入,必须指定-b -c或者-f 标志之一
c:字符单位切割
b:字节单位切割
d:自定义分割符,默认为制表符
f:与d一起使用,指定显示哪个区域
n:取消分割多字节字符,仅和b标志一起用
如果字符的最后一个字节落在b标志的List参数指示的< br/>范围之内,该字符被写出;否则 被排除
$ who
cloud tty1 2015-12-22 11:21 (:0)
cloud pts/1 2015-12-29 13:36 (:0.0)
cloud pts/0 2015-12-29 13:29 (:0.0)
取1-3个字节who |cut -b 1-3
取第一个字节who |cut -b 1
如果字节定位中 我想提取 第3,4,5,8个字节
支持逗号‘,’,以及‘-’符号
$who |cut -b 1-3,12
cloy
clos
clos
cut先把-b后面的数字进行从大到小的排序,再执行提取
who |cut -b 12,1-3
不过 1-3 是不能写成 3-1 的
$ who |cut -b 3-
这是截取3以及3之后的字节
$ who |cut -b -3
这是截取3以及3之前的字节
$ who |cut -b -3,3-
这是打印所有的字节
`以字符作为定位
这个截取字母字符时 与-b方式差别不大
但是截取中文字符时,差别会很大,b输出乱码(它只会以8进制来计算),c却输出1个中文字符
$ cut -c 3 chinese
一
二
三
四
五
六
日
$ cut -b 3 chinese
�
�
�
�
�
�
�
补:
`当遇到多字节字符时候,使用-n选项,-n用于告诉cut不要将多字节字符拆开来
$ cat chinese
星期一
星期二
星期三
星期四
星期五
星期六
星期日
$ cut -b 3 chinese -n
星
星
星
星
星
星
星
域是什么?对于非固定格式的字符的提取,-c -b缺少帮助
设置间隔符‘:’等,再设置提取第几个域,就ok了
`提取前五行 head -n
$cat /etc/passwd |head -5
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
$cat /etc/passwd |head -n 5|cut -d ':' -f 1
root
bin
daemon
adm
lp
提取以':'分割的域中 第一个字段的值
不能缺少 -f 1,2,3-,-3,1-3
-d的顺序不能乱来
[cloud@cloud ~]$ cat /etc/passwd |head -n 5|cut -d ':' -d 'i' -f 1
root:x:0:0:root:/root:/b
b
daemon:x:2:2:daemon:/sb
adm:x:3:4:adm:/var/adm:/sb
lp:x:4:7:lp:/var/spool/lpd:/sb
[cloud@cloud ~]$ cat /etc/passwd |head -n 5|cut -d 'i' -d ':' -f 1
root
bin
daemon
adm
lp
用法:cut [选项]... [文件]...
从每个文件中输出指定部分到标准输出。
d
长选项必须使用的参数对于短选项时也是必需使用的。
-b, --bytes=列表只选中指定的这些字节
-c, --characters=列表只选中指定的这些字符
-d, --delimiter=分界符使用指定分界符代替制表符作为区域分界
-f, --fields=LIST select only these fields; also print any line
that contains no delimiter character, unless
the -s option is specified
-n with -b: don't split multibyte characters
--complement补全选中的字节、字符或域
-s, --only-delimited不打印没有包含分界符的行
--output-delimiter=字符串使用指定的字符串作为输出分界符,默认采用输入
的分界符
--help显示此帮助信息并退出
--version显示版本信息并退出
仅使用f -b, -c 或-f 中的一个。每一个列表都是专门为一个类别作出的,或者您可以用逗号隔
开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次。
每种参数格式表示范围如下:
N从第1 个开始数的第N 个字节、字符或域
N-从第N 个开始到所在行结束的所有字符、字节或域
N-M从第N 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
-M从第1 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
当没有文件参数,或者文件不存在时,从标准输入读取
请向bug-coreutils@gnu.org 报告cut 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告cut 的翻译错误
要获取完整文档,请运行:info coreutils 'cut invocation'
note:
用法
cut [-bn] [file]
cut [-c] [file]
cut [-df] [file]
使用说明
该命令从文件的每一行剪切字节、字符和字段 并将这些数据写至stdout
如果不指定文件参数,cut命令将读取标准输入,必须指定-b -c或者-f 标志之一
c:字符单位切割
b:字节单位切割
d:自定义分割符,默认为制表符
f:与d一起使用,指定显示哪个区域
n:取消分割多字节字符,仅和b标志一起用
如果字符的最后一个字节落在b标志的List参数指示的< br/>范围之内,该字符被写出;否则 被排除
$ who
cloud tty1 2015-12-22 11:21 (:0)
cloud pts/1 2015-12-29 13:36 (:0.0)
cloud pts/0 2015-12-29 13:29 (:0.0)
取1-3个字节who |cut -b 1-3
取第一个字节who |cut -b 1
如果字节定位中 我想提取 第3,4,5,8个字节
支持逗号‘,’,以及‘-’符号
$who |cut -b 1-3,12
cloy
clos
clos
cut先把-b后面的数字进行从大到小的排序,再执行提取
who |cut -b 12,1-3
不过 1-3 是不能写成 3-1 的
$ who |cut -b 3-
这是截取3以及3之后的字节
$ who |cut -b -3
这是截取3以及3之前的字节
$ who |cut -b -3,3-
这是打印所有的字节
`以字符作为定位
这个截取字母字符时 与-b方式差别不大
但是截取中文字符时,差别会很大,b输出乱码(它只会以8进制来计算),c却输出1个中文字符
$ cut -c 3 chinese
一
二
三
四
五
六
日
$ cut -b 3 chinese
�
�
�
�
�
�
�
补:
`当遇到多字节字符时候,使用-n选项,-n用于告诉cut不要将多字节字符拆开来
$ cat chinese
星期一
星期二
星期三
星期四
星期五
星期六
星期日
$ cut -b 3 chinese -n
星
星
星
星
星
星
星
域是什么?对于非固定格式的字符的提取,-c -b缺少帮助
设置间隔符‘:’等,再设置提取第几个域,就ok了
`提取前五行 head -n
$cat /etc/passwd |head -5
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
$cat /etc/passwd |head -n 5|cut -d ':' -f 1
root
bin
daemon
adm
lp
提取以':'分割的域中 第一个字段的值
不能缺少 -f 1,2,3-,-3,1-3
-d的顺序不能乱来
[cloud@cloud ~]$ cat /etc/passwd |head -n 5|cut -d ':' -d 'i' -f 1
root:x:0:0:root:/root:/b
b
daemon:x:2:2:daemon:/sb
adm:x:3:4:adm:/var/adm:/sb
lp:x:4:7:lp:/var/spool/lpd:/sb
[cloud@cloud ~]$ cat /etc/passwd |head -n 5|cut -d 'i' -d ':' -f 1
root
bin
daemon
adm
lp