Linux中cut命令的基本使用详解
作者:江湖有缘
cut命令是一个Linux/Unix命令,用于从文件或标准输入中提取字段并输出到标准输出,这篇文章主要介绍了Linux系统之cut命令的基本使用,需要的朋友可以参考下
Linux系统之cut命令的基本使用
一、cut命令介绍
1. cut命令简介
cut命令是一个Linux/Unix命令,用于从文件或标准输入中提取字段并输出到标准输出。cut 经常用来显示文件的内容,显示行中的指定部分,删除文件中指定字段。
2.cut命令的由来
- cut命令是一个基于Unix和类Unix系统的命令行工具,用于从文件或输入流中提取文本。
- cut命令的名称来自于其“cut out”或“cut off”字面意思,它指的是从文本中“剪切”部分内容。
- cut命令最初是由贝尔实验室的Ken Thompson开发的,它于1971年首次出现在Unix的早期版本中。
- 该命令的设计旨在使用户能够快速轻松地从文本中提取所需的数据,而不必手动搜索和删除不必要的内容。这使得cut命令成为Unix和类Unix系统中最常用的命令之一。
二、在Linux中命令帮助
1. cut的help帮助信息
在Linux命令行中,cut的help帮助信息。
[root@server-01 ~]# cut --help Usage: cut OPTION... [FILE]... Print selected parts of lines from each FILE to standard output. 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 with -b: don't split multibyte characters --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 input delimiter --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 With no FILE, or when FILE is -, read standard input. GNU coreutils online help: <http://www.gnu.org/software/coreutils/> For complete documentation, run: info coreutils 'cut invocation'
2. cut的选项
cut命令的选项解释
-b:仅显示行中指定直接范围的内容;
-c:仅显示行中指定范围的字符;
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
-n:与“-b”选项连用,不分割多字节字符;
--complement:补足被选择的字节、字符或字段;
--out-delimiter= 字段分隔符:指定输出内容是的字段分割符;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
三、cut的基本使用
1. 指定字段的内容
使用-f 选项,打印文本的列,例如打印文本的第一列内容,使用-f 1。
[root@server-01 ~]# cut -f 1 /etc/passwd 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 sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin nscd:x:28:28:NSCD Daemon:/:/sbin/nologin admin:x:1000:1000::/home/admin:/bin/bash saslauth:x:997:76:Saslauthd user:/run/saslauthd:/sbin/nologin mongod:x:996:993:mongod:/var/lib/mongo:/bin/false mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
2. 使用分隔符打印文本内容
cut命令的默认分隔符是制表符(tab键),也就是"\t"。可以使用参数-d来指定其他分隔符,例如使用逗号作为分隔符:cut -d ‘,’ filename。
[root@server-01 ~]# cut -d ":" -f 1 /etc/passwd root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd sshd postfix chrony ntp tcpdump nscd admin saslauth mongod mysql
[root@server-01 ~]# cut -d ":" -f 1,2 /etc/passwd root:x bin:x daemon:x adm:x lp:x sync:x shutdown:x halt:x mail:x operator:x games:x ftp:x nobody:x systemd-network:x dbus:x polkitd:x sshd:x postfix:x chrony:x ntp:x tcpdump:x nscd:x admin:x saslauth:x mongod:x mysql:x
3. 显示行中指定范围的字符
cut 命令可以将一串字符作为列来显示,
字符字段的记法:
N- :从第 N 个字节、字符、字段到结尾;
N-M :从第 N 个字节、字符、字段到第 M 个(包括 M 在内)字节、字符、字段;
-M :从第 1 个字节、字符、字段到第 M 个(包括 M 在内)字节、字符、字段。
[root@server-01 ~]# cut -c1-2 /etc/passwd ro bi da ad lp sy sh ha ma op ga ft no sy db po ss po ch nt tc ns ad sa mo my
四、cut命令的日常使用
1. 提取IP地址
使用cut提取本地网卡地址
[root@server001 ~]# ifconfig eth0 |grep -w inet |cut -d ' ' -f 10 192.168.3.157
使用awk提取本地网卡地址
[root@server001 ~]# ifconfig eth0 |grep netmask |awk '{print $2}' 192.168.3.157
2. 提取本地系统的用户名
在/etc/passwd文件中打印本地系统的用户名
[root@server001 ~]# cut -d ":" -f 1 /etc/passwd root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd sshd postfix admin tss postgres redis www-data mysql zabbix apache cockpit-ws chrony geoclue gluster libstoragemgmt rpc
3. 统计本地用户数
查看系统本地的用户有多少个。
[root@server001 ~]# cut -d ":" -f 1 /etc/passwd |wc -l 32
4. 打印文本最后的5个字符
打印文本最后的5个字符
[root@server001 ~]# cat /etc/passwd | rev | cut -c -5 | rev /bash login login login login /sync tdown /halt login login login login login login login login login login /bash login /bash login /bash false login login login login login login login login
到此这篇关于Linux系统之cut命令的基本使用的文章就介绍到这了,更多相关Linux cut命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!