#Bash 的 cut 命令
cut OPTION... [FILE]...
功能
从文件的行中截取指定的部分。
类型
可执行文件(/usr/bin/cut),属于 coreutils。
参数
OPTION选项:-b,--bytes=LIST- 要截取的字节-c,--characters=LIST- 要截取的字符-d,--delimiter=DELIM- 使用DELIM作为字段分隔符,而不是TAB-f,--fields=LIST- 要截取的字段-n- 防止截断多字节字符(无效,被忽略)--complement- 对选取的字节、字符、字段进行补全-s,--only-delimited- 不要打印不含分隔符的行--output-delimiter=STRING- 打印输出时用STRING代替分隔符-z,--zero-terminated- 以空字符(\0)作为行的结尾,而不是换行符(\n)--help- 显示当前帮助--version- 显示版本
FILE- 文件列表;-表示读取标准输入
#示例
$ cat 1.txt
id,name,age,city
1,Alice,23,London
2,Bob,31,Paris
3,Carol,27,Tokyo
$ cut 1.txt -c 1-10 1.txt       # 截取 1 至 10 字符
id,name,ag
1,Alice,23
2,Bob,31,P
3,Carol,27
id,name,ag
1,Alice,23
2,Bob,31,P
3,Carol,27
$ cut -d ',' -f 2,3 1.txt       # 逗号作为分隔符,截取 2,3 字段
name,age
Alice,23
Bob,31
Carol,27
#推荐阅读
#手册
CUT(1) User Commands CUT(1) NAME cut - remove sections from each line of files SYNOPSIS cut OPTION... [FILE]... DESCRIPTION Print selected parts of lines from each FILE to standard output. With no FILE, or when FILE is -, read standard input. Mandatory arguments to long options are mandatory for short options too. -b, --bytes=LIST select only these bytes -c, --characters=LIST select only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter -f, --fields=LIST select only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n (ignored) --complement complement the set of selected bytes, characters or fields -s, --only-delimited do not print lines not containing delimiters --output-delimiter=STRING use STRING as the output delimiter the default is to use the in‐ put delimiter -z, --zero-terminated line delimiter is NUL, not newline --help display this help and exit --version output version information and exit Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. Each range is one of: N N'th byte, character or field, counted from 1 N- from N'th byte, character or field, to end of line N-M from N'th to M'th (included) byte, character or field -M from first to M'th (included) byte, character or field AUTHOR Written by David M. Ihnat, David MacKenzie, and Jim Meyering. REPORTING BUGS GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report any translation bugs to <https://translationproject.org/team/> COPYRIGHT Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO Full documentation <https://www.gnu.org/software/coreutils/cut> or available locally via: info '(coreutils) cut invocation' GNU coreutils 9.4 April 2024 CUT(1)