Linux cut命令详解使用:掌握高效文本切割
cut
是 Linux 中一个用于从文本文件或标准输入中提取指定字段的命令。它根据分隔符或者字符位置来裁剪文本,是处理文本文件中的字段、列和子字符串的常用工具。
基本语法
cut [选项] 文件
或
命令 | cut [选项]
常用选项
-b
:按字节位置切割(指定字节范围)。-c
:按字符位置切割(指定字符范围)。-d
:指定字段分隔符(默认是制表符\t
)。-f
:指定要显示的字段(结合-d
选项使用)。--complement
:显示指定范围之外的字段或字符。
1. 按字符位置切割
假设有一个包含多行文本的文件 file.txt
:
abcdef
123456
xyzabc
- 提取第 1 到 3 个字符:
输出:cut -c 1-3 file.txt
abc 123 xyz
2. 按字段分隔符切割
假设文件 data.txt
内容如下:
name,age,location
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago
-
使用
,
作为分隔符,提取第 1 和第 3 列:cut -d ',' -f 1,3 data.txt
输出:
name,location Alice,New York Bob,Los Angeles Charlie,Chicago
-
提取除第 2 列之外的字段:
cut -d ',' -f 2 --complement data.txt
输出:
name,location Alice,New York Bob,Los Angeles Charlie,Chicago
3. 从标准输入提取字段
- 从
echo
输出中提取第一个字段:
输出:echo "apple orange banana" | cut -d ' ' -f 1
apple
4. 按字节位置切割
假设文件 file.txt
内容为:
abcdefgh
12345678
xyzabcde
- 提取第 1 到 4 个字节:
输出:cut -b 1-4 file.txt
abcd 1234 xyza
5. 结合其他命令使用
- 使用
ps
命令并结合cut
提取某一列:
这将提取ps aux | cut -d ' ' -f 1
ps
命令输出的第 1 列,即用户信息。
6. 处理多字符分隔符
cut
不支持多字符分隔符的直接处理,若需要处理多字符分隔符,可使用 awk
或 sed
:
echo "apple##orange##banana" | awk -F '##' '{print $1, $3}'
总结
cut
命令非常适合快速从文件中提取字段或列,尤其适合以单字符分隔符(如逗号、空格)分隔的结构化文本数据。结合其他命令管道使用,能够高效处理系统输出或文件内容。
相关文章:

Linux cut命令详解使用:掌握高效文本切割
cut 是 Linux 中一个用于从文本文件或标准输入中提取指定字段的命令。它根据分隔符或者字符位置来裁剪文本,是处理文本文件中的字段、列和子字符串的常用工具。 基本语法 cut [选项] 文件或 命令 | cut [选项]常用选项 -b:按字节位置切割(…...

c++11新特性——endable_shared_from_this
文章目录 一.解决场景代码示例原因 二.解决办法代码 三.底层原理 一.解决场景 一个share_ptr管理的类,如果从类的函数里返回类对象(this指针),导致share_ptr引用计数错误,析构时异常问题 代码示例 #include <mem…...

小程序的右侧抽屉开关动画手写效果
<template><view><button click"openDrawer">打开抽屉</button><view v-if"showDrawer" class"drawer" :style"{ backgroundColor: bgColor }" click"closeDrawer"><view class"draw…...

vue3中el-table中点击图片放大时,被表格覆盖
问题:vue3中el-table中点击图片放大时,被表格覆盖。 解决方法:el-image 添加preview-teleported <el-table-column label"封面图" prop"coverUrl"><template #default"scope"><el-imagestyle&q…...

GO学习笔记(4) strconv/time
目录 strconv包1、string与bool之间的转换2、string与int之间的转换 time包1、常用常量定义2、Now()获取当前年月日时分秒3、Format()时间格式化4、Parse()/ ParseInLocation()解析时…...

课程管理系统-数据库-基于MySQL的数据库课程设计
目录 前言一、需求分析二、设计数据库模型1.实体关系图(ERD)2.表结构设计三、创建数据库和表四、插入数据五、查询数据六、更新和维护七、安全性与性能优化总结前言 设计一个数据库课程(或任何课程管理系统)时,我们首先需要明确系统的需求和目标。以下是一个基于MySQL的数…...

降维打击 华为赢麻了
文|琥珀食酒社 作者 | 积溪 真是赢麻了 华为估计都懵了 这辈子还能打这么富裕的仗? 其实在苹果和华为的发布会召开之前 我就知道华为肯定会赢 但我没想到 苹果会这么拉胯 华为这是妥妥的降维打击啊 就说这苹果iPhone 16吧 屏幕是变大了、颜色…...

[数据集][目标检测]汽车头部尾部检测数据集VOC+YOLO格式5319张3类别
数据集制作单位:未来自主研究中心(FIRC) 版权单位:未来自主研究中心(FIRC) 版权声明:数据集仅仅供个人使用,不得在未授权情况下挂淘宝、咸鱼等交易网站公开售卖,由此引发的法律责任需自行承担 数据集格式:Pascal VOC格…...

python 生成的代码,需要帮我生成一个直接在一台没有依赖的电脑上运行的 包
要创建一个可以在没有依赖的电脑上运行的包,你需要将你的代码和所有依赖项打包成一个可执行文件。对于Python项目,这通常意味着使用一些工具来打包你的代码和所有必要的库。以下是一些常用的工具和步骤: 确定依赖:首先,…...

【Linux】操作系统与进程
🦄个人主页:修修修也 🎏所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位) 目录 📌操作系统 🎏操作系统的概念 🎏设计操作系统的目的 🎏操作系统对进程的管理 🕹️操作系统为什么…...

【Linux】 LTG:移动硬盘部署Ubuntu24.04
Ubuntu To Go 是一种便携式的 Ubuntu 操作系统解决方案,允许用户将 Ubuntu 系统安装在 USB 驱动器或其他可移动存储设备上。这样,用户可以在任何支持 USB 启动的计算机上运行 Ubuntu,而无需在本地硬盘上进行安装。 准备工作 移动硬盘&#x…...

Android的logcat日志详解
Android log系统 logcat介绍 logcat是android中的一个命令行工具,可以用于得到程序的log信息。下面介绍 adb logcat中的详细参数命令以及如何才能高效的打印日志,或把日志保存到我们指定的位置。 可以输入 adb logcat --help,查看一下一些简…...

【Linux】:信号的保存和信号处理
朋友们、伙计们,我们又见面了,本期来给大家带来信号的保存和信号处理相关代码和知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入…...

深入理解Java虚拟机:Jvm总结-Java内存区域与内存溢出异常
第二章 Java内存区域与内存溢出异常 2.1 意义 对于C、C程序开发来说,程序员需要维护每一个对象从开始到终结。Java的虚拟自动内存管理机制,让java程序员不需要手写delete或者free代码,不容易出现内存泄漏和内存溢出问题,但是如果…...

跨境电商必备保护账号的4个网络环境设置
在跨境电商的世界里,一个稳定可靠的网络环境就是你事业成功的关键!但是,不稳定的IP很容易导致账号被封,让你的辛苦付之东流,相信许多小伙伴也经历过莫名其妙的账号封禁情况! 为了让大家避免这种心痛的情况…...

Python+requests接口自动化测试框架实例教程
前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的…...

【网络安全】DNS重绑定原理详析
原创文章,不得转载。 文章目录 DNSDNS查询过程同源策略DNS重绑定攻击原理DNS重绑定攻击步骤DNS重绑定工具工具一工具二DNS 在网络中,访问网站实际上是通过其对应的 IP 地址实现的,然而,IP 地址往往难以记忆。因此,DNS(域名系统)应运而生。 DNS(Domain Name System)是…...

C语言初识编译和链接
目录 翻译环境和运行环境编译环境预编译编译词法分析语法分析语义分析 汇编 链接运行环境 翻译环境和运行环境 在ANSI C的任何⼀种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令(⼆进制指令&…...

TrinityCore环境搭建
1)https://192.168.3.96:41797/soft/app root jianan2)mysql322bb8f85b0920d9 192.168.3.96 9f5c813fefbbc3aa3) su wow cd /home/wow/TrinityCore/TrinityCore-TDB335.22061/build cmake ../ -DCMAKE_INSTALL_PREFIX/home/wow/server3.5.5 #构建项目cmake ../ -DCMAKE_INSTALL…...

Proteus 仿真设计:开启电子工程创新之门
摘要: 本文详细介绍了 Proteus 仿真软件在电子工程领域的广泛应用。从 Proteus 的功能特点、安装与使用方法入手,深入探讨了其在电路设计、单片机系统仿真、PCB 设计等方面的强大优势。通过具体的案例分析,展示了如何利用 Proteus 进行高效的…...

microchip dspic3一些奇怪问题
UART初始化,导致一些MCU PIN输出低电平。 https://microchip.my.site.com/s/case/500V4000007jvz4IAA/detail 板子上电EEPROM读取不稳定,增加延时解决问题。 –If delay 1ms, will read EE Err –If delay 10ms, program and reset, will read EE err.…...

FinOps原则:云计算成本管理的关键
导语: FinOps 原则为我们提供了北极星(North Star),在我们实践云财务管理时指导我们的活动。这些原则由 FinOps 基金会成员制定,并通过经验磨练出来。 北极星(North Star)的含义: …...

JavaScript之如何优化模板字符串的性能
在 JavaScript 中,优化模板字符串的性能可以从几个方面入手。模板字符串(Template Literals)是 ES6 引入的特性,它们使用反引号 () 包围,可以嵌入表达式并支持多行字符串。虽然模板字符串通常很方便,但在性…...

不能将类型“null”分配给类型“number | undefined”。ts(2322)
错误解释: 这个TypeScript错误表明你正在尝试将null赋值给一个预期为number类型或undefined类型的变量。在TypeScript中,null和undefined是有效的值,但通常我们希望它们与number类型不兼容。 解决方法: 检查导致错误的赋值语句&…...

Nginx部署前端Vue项目详细教程
文章目录 Nginx部署前端Vue项目详细教程准备工作打包Vue项目安装Nginx配置Nginx创建配置文件启用配置文件 部署Vue项目配置SSL(可选)测试和验证总结 Nginx部署前端Vue项目详细教程 本教程将详细介绍如何使用Nginx部署前端Vue项目,涵盖从项目…...

kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照以及工作常用总结
文章目录 kvm 虚拟机命令行虚拟机操作、制作快照和恢复快照一、kvm 虚拟机命令行虚拟机操作(创建和删除)查看虚拟机virt-install创建一个虚拟机关闭虚拟机重启虚拟机销毁虚拟机 二、kvm 制作快照和恢复快照**创建快照**工作常见问题创建快照报错::intern…...

内网安全-横向移动【3】
1.域横向移动-内网服务-Exchange探针 Exchange是一个电子右键服务组件,由微软公司开发。它不仅是一个邮件系统,还是一个消息与协作系统。Exchange可以用来构建企业、学校的邮件系统,同时也是一个协作平台,可以基于此开发工作流、…...

语言中的浮点数
浮点数相比定点数或者整数,为了处理小数点引入了指数,导致小数点的位置根据不同浮点数而不同,故名为Floating Point Number. 一般而言,IEEE754标准被大部分编程语言的浮点数使用,它节省了浮点数的保存空间。如不然&…...

Pyspark下操作dataframe方法(1)
文章目录 Pyspark dataframe创建DataFrame使用Row对象使用元组与scheam使用字典与scheam注意 agg 聚合操作alias 设置别名字段设置别名设置dataframe别名 cache 缓存checkpoint RDD持久化到外部存储coalesce 设置dataframe分区数量collect 拉取数据columns 获取dataframe列 Pys…...
注解实现json序列化的时候自动进行数据脱敏
最近在进行开发的时候遇到一个问题,需要对用户信息进行脱敏处理,原有的方式是写一个util类,在需要脱敏的字段查出数据后,显示掉用方法处理后再set回去,觉得这种方式能实现功能,但是不是特别优雅,…...