您的位置:首页 > 运维架构 > Linux

linux命令之cut

2015-12-29 21:04 411 查看
用法: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: