Linux中cut命令的基本使用详解

 更新时间:2023年05月23日 11:42:01   作者:江湖有缘  
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命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Shell 脚本管理 Java 程序的实现示例

    Shell 脚本管理 Java 程序的实现示例

    Shell脚本是一种自动化工具,能够帮助我们批量执行任务,对于运行 Java 程序的场景,使用脚本可以避免每次手动输入复杂命令,提高效率并减少出错概率,感兴趣的可以了解一下
    2025-10-10
  • linux下的tar命令详细解释

    linux下的tar命令详细解释

    在Linux中,压缩与解压用得最多的tar.tar命令确实很厉害。下面通过本文给大家分享linux下的tar命令详细解释,感兴趣的朋友一起看看吧
    2017-08-08
  • shell中的循环语句、判断语句实例

    shell中的循环语句、判断语句实例

    这篇文章主要介绍了shell中的循环语句、判断语句实例,本文对shell的循环语句、判断语句做了一个小结,以及在使用中的注意事项,需要的朋友可以参考下
    2014-07-07
  • Shell脚本遍历目录并批量修改文件编码

    Shell脚本遍历目录并批量修改文件编码

    这篇文章主要介绍了Shell脚本遍历目录并批量修改文件编码,本文给出了两种实现代码,需要的朋友可以参考下
    2014-12-12
  • Linux中rpm命令用法详解

    Linux中rpm命令用法详解

    rpm命令是用于在基于RPM包管理系统的Linux发行版中安装、查询、升级和删除软件包的命令行工具,本文讲给大家详细的介绍一下Linux rpm命令的使用方法,感兴趣的同学跟着小编一起来看看吧
    2023-08-08
  • awk命令、awk编程语言详细介绍和实例

    awk命令、awk编程语言详细介绍和实例

    这篇文章主要介绍了awk命令、awk编程语言详细介绍和实例,讲解了如awk中的记录、域、分割符,awk的内建变量和运算符等,需要的朋友可以参考下
    2014-07-07
  • Linux服务器安全清理垃圾文件的命令详解

    Linux服务器安全清理垃圾文件的命令详解

    在这现代的岁月,数码世界日益发展,凡是涉及计算,必然离不开那浩如烟海的数据,庞大如巨鲸的文件,若将目光转向我们的服务器,尤其是 Linux 服务器,垃圾文件的积累便如那墙角的蛛网,本文就给大家聊聊如何在 Linux 服务器上安全地清理垃圾文件,需要的朋友可以参考下
    2024-06-06
  • linux下解决 git clone每次都要输入用户名密码问题(推荐)

    linux下解决 git clone每次都要输入用户名密码问题(推荐)

    这篇文章主要介绍了linux下解决 git clone每次都要输入用户名密码问题,先用git config --global user.name 'username’和git config --global user.email 'xxx@xxx.com’配置一下用户名和邮箱,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • Shell命令批量修改图片文件名

    Shell命令批量修改图片文件名

    这篇文章主要介绍了Shell命令批量修改图片文件名,本文使用for循环、awk、sed等命令实现批量修改图片文件名,需要的朋友可以参考下
    2014-12-12
  • shell脚本实现ftp上传下载文件功能

    shell脚本实现ftp上传下载文件功能

    这篇文章主要介绍了shell脚本实现ftp上传下载文件功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08

最新评论