当前位置: 首页 > news >正文

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 不支持多字符分隔符的直接处理,若需要处理多字符分隔符,可使用 awksed

echo "apple##orange##banana" | awk -F '##' '{print $1, $3}'

总结

cut 命令非常适合快速从文件中提取字段或列,尤其适合以单字符分隔符(如逗号、空格)分隔的结构化文本数据。结合其他命令管道使用,能够高效处理系统输出或文件内容。

相关文章:

Linux cut命令详解使用:掌握高效文本切割

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

c++11新特性——endable_shared_from_this

文章目录 一.解决场景代码示例原因 二.解决办法代码 三.底层原理 一.解决场景 一个share_ptr管理的类&#xff0c;如果从类的函数里返回类对象&#xff08;this指针&#xff09;&#xff0c;导致share_ptr引用计数错误&#xff0c;析构时异常问题 代码示例 #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中点击图片放大时,被表格覆盖

问题&#xff1a;vue3中el-table中点击图片放大时&#xff0c;被表格覆盖。 解决方法&#xff1a;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&#xff08;&#xff09;获取当前年月日时分秒3、Format&#xff08;&#xff09;时间格式化4、Parse&#xff08;&#xff09;/ ParseInLocation&#xff08;&#xff09;解析时…...

课程管理系统-数据库-基于MySQL的数据库课程设计

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

降维打击 华为赢麻了

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

[数据集][目标检测]汽车头部尾部检测数据集VOC+YOLO格式5319张3类别

数据集制作单位&#xff1a;未来自主研究中心(FIRC) 版权单位&#xff1a;未来自主研究中心(FIRC) 版权声明&#xff1a;数据集仅仅供个人使用&#xff0c;不得在未授权情况下挂淘宝、咸鱼等交易网站公开售卖,由此引发的法律责任需自行承担 数据集格式&#xff1a;Pascal VOC格…...

python 生成的代码,需要帮我生成一个直接在一台没有依赖的电脑上运行的 包

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

【Linux】操作系统与进程

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位) 目录 &#x1f4cc;操作系统 &#x1f38f;操作系统的概念 &#x1f38f;设计操作系统的目的 &#x1f38f;操作系统对进程的管理 &#x1f579;️操作系统为什么…...

【Linux】 LTG:移动硬盘部署Ubuntu24.04

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

Android的logcat日志详解

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

【Linux】:信号的保存和信号处理

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

深入理解Java虚拟机:Jvm总结-Java内存区域与内存溢出异常

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

跨境电商必备保护账号的4个网络环境设置

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

Python+requests接口自动化测试框架实例教程

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

【网络安全】DNS重绑定原理详析

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

C语言初识编译和链接

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

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 仿真设计:开启电子工程创新之门

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

对比直接使用官方API与通过Taotoken调用的稳定性感受

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接使用官方API与通过Taotoken调用的稳定性感受 1. 引言 在构建依赖大模型能力的应用时&#xff0c;服务的稳定性是开发者必…...

基于Ollama与Streamlit的本地大模型智能对话应用snowChat部署指南

1. 项目概述&#xff1a;一个基于本地大模型的智能对话应用最近在折腾本地部署的大语言模型&#xff0c;发现了一个挺有意思的项目&#xff0c;叫snowChat。这名字听起来就挺“冷”的&#xff0c;但功能却很“热”——它本质上是一个让你能在自己电脑上&#xff0c;用本地的大模…...

【GPT-4V全面评估】:大语言多模态模型的黎明时代

多模态大模型时代的黎明&#xff1a;GPT-4V(ision)全面能力深度测评 当AI还在为"看图说话"磕磕绊绊时&#xff0c;GPT-4V已经悄悄解锁了"看懂世界"的超能力。它不仅能识别图片里的物体&#xff0c;还能理解梗图的笑点、解数学题、读X光片、甚至帮你操作电脑…...

AI智能体长期记忆系统:从RAG到Memory-Skill的工程实践

1. 项目概述&#xff1a;一个关于“记忆”的AI技能最近在折腾AI智能体&#xff08;Agent&#xff09;和RAG&#xff08;检索增强生成&#xff09;相关的东西&#xff0c;发现一个挺有意思的GitHub项目&#xff0c;叫memory-skill。光看名字&#xff0c;你可能会觉得这是个简单的…...

基于HPM5E00与LAN9252的EtherCAT从站开发板全流程实战

1. 项目概述&#xff1a;从零到一&#xff0c;打造专属的 EtherCAT 从站开发板 最近在工业自动化圈子里&#xff0c;EtherCAT 的热度一直居高不下。它那近乎实时的通讯性能、灵活的拓扑结构&#xff0c;让它在运动控制、机器人、高端数控机床等领域成了“香饽饽”。但很多开发者…...

从零构建C语言静态库:工程实践与避坑指南

1. 项目概述&#xff1a;为什么我们需要亲手打造一个静态库&#xff1f;在C语言的开发世界里&#xff0c;尤其是当你从编写单个文件的小程序&#xff0c;过渡到管理一个包含数十上百个源文件的中大型项目时&#xff0c;一个绕不开的话题就是代码的组织与复用。你可能有过这样的…...

基于RAG的LLM知识库构建:从智能分块到检索增强生成实战

1. 项目概述&#xff1a;一个为大型语言模型量身定制的知识库构建工具如果你和我一样&#xff0c;经常和大型语言模型打交道&#xff0c;无论是用它们来辅助编程、分析文档&#xff0c;还是构建问答系统&#xff0c;那你一定遇到过这个核心痛点&#xff1a;如何让模型精准地理解…...

自制AVR ISP批量编程器:从ZIF插座到AVRDUDE一键烧录全攻略

1. 项目概述&#xff1a;为什么你需要一个批量编程器&#xff1f;如果你玩过Arduino或者自己做过一些基于AVR单片机的小项目&#xff0c;那么对“烧录程序”这个步骤一定不陌生。通常&#xff0c;我们是用一根USB线&#xff0c;或者一个USBasp、USBtinyISP这样的小编程器&#…...

基于开源项目构建智能音箱自定义电台技能:从原理到部署实践

1. 项目概述&#xff1a;一个为智能音箱打造的“龙虾电台”技能最近在折腾智能家居和语音助手&#xff0c;发现一个挺有意思的开源项目&#xff0c;叫“lobster-radio-skill”。光看名字&#xff0c;你可能会有点摸不着头脑&#xff1a;“龙虾电台”&#xff1f;这跟智能音箱有…...

VisualHMI LUA脚本中get_float与set_float函数实战详解

1. 项目概述&#xff1a;从界面到逻辑的桥梁在工业HMI&#xff08;人机界面&#xff09;开发中&#xff0c;我们常常会遇到一个看似简单却至关重要的需求&#xff1a;如何让屏幕上显示的一个数值&#xff0c;与背后控制器&#xff08;如PLC&#xff09;里的一个浮点数寄存器精准…...