linux(centos8):用cut显示文本内容的指定列
一,cut命令的用途
从一个文本文件或者文本流中提取文本列
分别用: 字节、字符、字段 作为单位进行提取
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,查看cut命令所属的包
[root@blog ~]$ whereis cut
cut: /usr/bin/cut /usr/share/man/man1/cut.1.gz /usr/share/man/man1p/cut.1p.gz [root@blog ~]$ rpm -qf /usr/bin/cut
coreutils-8.30-6.el8.x86_64
如果提示找不到命令或命令被误删除,
可以用dnf安装
[root@blog ~]$ dnf install coreutils
三,查看cut命令的版本和帮助
1,查看版本
[root@blog ~]$ cut --version
cut (GNU coreutils) 8.30
Copyright (C) 2018 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. Written by David M. Ihnat, David MacKenzie, and Jim Meyering.
2,查看帮助
[root@blog ~]$ cut --help
3,查看手册
[root@blog ~]$ man cut
四,cut命令在运维中的使用例子:
1,显示nginx日志中所有的ip
# -d:指定分隔字段的分隔符,默认的分隔符是tab
#-f: 指定显示第几个字段
[root@blog nginxlogs]$ cut -d ' ' -f 1 file_meet.access_log
106.15.200.123
47.101.200.88
...
类似的还有:
第7列是url(使用空格作分隔符)
[root@blog nginxlogs]$ cut -d ' ' -f 7 file_meet.access_log
/
/web2/images/h4.png
/web2/images/h10.png
...
用双引号做分隔符,第6列是user agent
[root@blog nginxlogs]$ cut -d '"' -f 6 file_meet.access_log | more
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0
...
2,列出所有有权登录bash的用户
# -d:指定分隔字段的分隔符,默认的分隔符是tab
#-f: 指定显示第几个字段
[root@blog ~]$ grep '/bin/bash' /etc/passwd | cut -d ':' -f 1,7
root:/bin/bash
webop:/bin/bash
说明:上面的命令效果等同于:
#--complement: 显示-f指定字段以外的其他字段
[root@blog ~]$ grep '/bin/bash' /etc/passwd | cut -d ':' -f 2,3,4,5,6 --complement
也等同于
[root@blog ~]$ grep '/bin/bash' /etc/passwd | cut -d ':' -f 2-6 --complement
3,打印每个分区和使用的占比
#sed '1d' :去掉第一行的表头
#tr -s:--squeeze-repeats:缩减连续重复的字符成指定的单个字符
[root@blog ~]$ df -h | sed '1d' | tr -s ' ' | cut -d ' ' -f 1,5
devtmpfs 0%
tmpfs 0%
tmpfs 1%
tmpfs 0%
/dev/vda1 15%
/dev/vdb1 1%
tmpfs 0%
说明:df 命令输出的部分空格较多,数量不一致,
我们用tr做一下压缩,这样方便cut读取
4,打印每个分区和使用的占比,字段之间用-分隔
#--output-delimiter='-' 输出时的分隔符也可以指定
#tr -d '%' 去掉百分比符号
[root@blog ~]$ df -h | sed '1d' | tr -s ' ' | cut -d ' ' -f 1,5 --output-delimiter='-' | tr -d '%'
devtmpfs-0
tmpfs-0
tmpfs-1
tmpfs-0
/dev/vda1-15
/dev/vdb1-1
tmpfs-0
5,用cut截取每行的前5个字符
#-c:截取指定位置的字符
[root@blog ~]$ cut -c1-5 /etc/passwd
6,其他参数:
-s:--only-delimited 不包含分隔符的行直接不显示 ( do not print lines not containing delimiters)
-b: 以字节为单位进行分割
五,查看centos的版本
[root@blog nginxlogs]$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
linux(centos8):用cut显示文本内容的指定列的更多相关文章
- linux(centos8):用sort对文本内容排序
一,sort的用途 1,作用: sort命令用于将文本文件内容加以排序. 它能够以行为单位来排序 2,sort常与uniq搭配使用,原因: 用uniq命令去重时, 需要相同的每行位置相邻才能生效, 所 ...
- shell脚本--显示文本内容
shell脚本显示文本内容及相关的常用命令有cat.more.less.head.tail.nl 首先是cat,cat最常用的就是一次性显示文件的所有内容,如果一个文件的内容很多的话,那么就不是很方便 ...
- linux下批量查找/替换文本内容
一般在本地电脑上批量替换文本有许多工具可以做到,比如sublime text ,但大多服务器上都是无图形界面的,为此收集了几条针对linux命令行 实现批量替换文本内容的命令: 1.批量查找某个目下文 ...
- linux实用小命令--查看文本内容
一.cat命令 $ cat [参数]filename 这还有一些可以和cat命令一起用的参数,可能对你有所帮助. 1.-n 参数会所有的行加上行号: $ cat -n test1 2.这个功能在检查脚 ...
- Linux基础命令---tail显示文本
tail 显示文本文件尾部的部分内容,默认显示最后10行. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 ...
- linux(centos8):用uniq去除文本中重复的行(去重)
一,uniq命令的用途 1, 作用: 从输入文件或标准输入中找到相邻的匹配行, 并写入到输出文件或标准输出 2, 使用时通常会搭配sort使用 说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt ...
- Linux sed命令实现替换文本内容
/root/data/code-s3201/publish_codex/deploy/db.properties db.properties中的 1.0.0.6 替换为 1.0.0.7 sed -i ...
- 深入学习jQuery描述文本内容的3个方法
× 目录 [1]html() [2]text() [3]val()[4]总结 前面的话 在javascript中,描述元素内容有5个属性,分别是innerHTML.outerHTML.innerTex ...
- 设置UILabel可变高度(根据文本内容自动适应高度)
@property(nonatomic)UILabel *showLabel; // 计算文本所占高度,计算出来之后设置label的高度 // 第一个参数:字体大小,字体大小/样式影响计算字体的高 ...
随机推荐
- 【吴恩达课程使用】keras cpu版安装【接】- anaconda (python 3.7) win10安装 tensorflow 1.8 cpu版
一.确认tensorflow的版本: 接上一条tensorflow的安装,注意版本不匹配会出现很多问题!:[吴恩达课程使用]anaconda (python 3.7) win10安装 tensorfl ...
- 乔悟空-CTF-i春秋-Web-Not Found-🙋🏻♂️
2020.09.08 又是匆匆忙忙的一天- 做题 题目 题目地址 做题 做题??做个屁,啥也不知道,干瞪眼
- PHP程序十点未来的建议
1. Composer 第一点就要提 Composer ,自从 Composer 出现后,PHP 的依赖管理可以变得非常简单.程序内依赖一些类库和框架,直接使用 Composer 引入即可,通过使用 ...
- 程序员你是如何降低NPE的?
程序员,如果系统突然报了一个空指针异常,你肯定像吞了一只苍蝇一样尴尬. 那么如何在日常开发过程中降低NPE? 问题 回答 现状 返回空值会出现大量的空指针异常 目的 改进方法的返回值,降低出现空指针异 ...
- Java面试知识点1
typora-root-url: ......\Software\Typora\Picture Bean的作用域 在Spring的元素的scope属性设置bean的作用域,用来决定bean是单实例还是 ...
- day51:django:dispatch&模板渲染&过滤器&标签&组件&静态文件配置
目录 1.dispatch 2.模板渲染 3.过滤器 4.标签 5.组件 6.静态文件配置 dispatch 回顾:CBV对应的URL传参 urls.py url(r'^book/(\d+)/(\d+ ...
- hystrix文档翻译之metrics
metrics和监控 动机 HystrixCommands和HystrixObservableCommands执行过程中会产生相关运行情况的metrics.这些metrics对于监控系统表现有很大的 ...
- Kubernetes K8S之Ingress详解与示例
K8S之Ingress概述与说明,并详解Ingress常用示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...
- JVM学习(三)JVM垃圾回收
一.引用的分类 在了解JVM垃圾回收机制之前,了解一下对象的引用类型是非常必要的. 强引用:GC时不会被回收 软引用:描述有用但不是必须的对象,在发生内存溢出异常之前被回收 弱引用:描述有用但不是必须 ...
- Windows下设置Mongodb用户名密码
MongoDB认证: 在默认的情况下,Mongodb是监听在127.0.0.1 IP上的,端口号默认为27017,任何客户端都可以连接,不需要认证 默认情况下,Mongodb也是没有管理账户的,除非你 ...